-- -----------------------------------------------------------------------------
-- MIB NAME : L2 Management MIB
-- FILE NAME: L2mgmtDes30xx.mib
-- DATE     : 2010/08/03
-- VERSION  : 2.16
-- PURPOSE  : To construct the MIB structure for L2 Management of the switch
--            for proprietary enterprise
-- -----------------------------------------------------------------------------
-- MODIFICATION HISTORY:
-- -----------------------------------------------------------------------------
-- Version, Date, Author
-- Description:
--  [New Object]
--  [Modification]
-- Notes: (Requested by who and which project)
-- -----------------------------------------------------------------------------
-- Version 2.16, 2010/08/03, Marco Visaya
-- [New Object]
--  Add swL2FloodMAC
-- -----------------------------------------------------------------------------
-- Version 2.15, 2010/06/25, Marco Visaya
-- [New Object]
--  Add DDM to swL2PortErrPortReason
-- -----------------------------------------------------------------------------
-- Version 2.14, 2009/12/06, Eli Lin
-- [New Object]
--  Add swL2DevCtrlTelnetState
-- -----------------------------------------------------------------------------
-- Version 2.13, 2009/10/22, Eli Lin
-- [New Object]
--  Add swL2PortLoopOccurred, swL2PortLoopRestart and swL2LoopDetectTrapMode 
--  for loop back detection
-- -----------------------------------------------------------------------------
-- Version 2.12, 2009/10/22, Eli Lin
-- [New Object]
-- Add swL2DevCtrlWeb and swL2DevCtrlWebState
-- -----------------------------------------------------------------------------
-- Version 2.11, 2009/07/06, Eli Lin
-- [New Object]
-- Add swL2FloodMacDetectedTrap, swL2FloodMacDetectedMacVid
-- swL2FloodMacDetectedMacAddress for the flooding MAC function
-- [Modification]
-- Revise swl2PortSecurityBidings to swl2PortSecurityBindings
-- Revise swl2NotificationBidings to swl2NotificationBindings
-- -----------------------------------------------------------------------------
-- Version 2.10, 2008/10/14, Marco Visaya
-- added 'other' option to swL2PortCtrlMDIXState
-- -----------------------------------------------------------------------------
-- Version 2.09, 2008/09/26, Marco Visaya
-- added swL2QOS8021pRadiusPriority
-- -----------------------------------------------------------------------------
-- Version 2.08, 2008/09/12, Marco Visaya
-- added swL2QOSBandwidthRadiusRxRate
-- added swL2QOSBandwidthRadiusTxRate
-- swL2DhcpRelayMgmt made obsolete (use DHCP-RELAY-MGMT-MIB)
-- -----------------------------------------------------------------------------
-- Version 2.07, 2008/08/12, Marco Visaya
-- modified index of swL2IGMPAccessAuthTable
-- -----------------------------------------------------------------------------
-- Version 2.06, 2008/07/07, Marco Visaya
-- added swL2IGMPDynIPMultVlanState
-- added swL2IGMPDynIPMultVlanAge
-- added swIGMPSnoopingGroupReportCount
-- added swIGMPSnoopingGroupUpTime
-- added swIGMPSnoopingGroupExpiryTime
-- added swIGMPSnoopingGroupRouterPorts
-- added swL2IGMPDynIpMultMgmt
-- -----------------------------------------------------------------------------
-- Version 2.05, 2008/05/30, Marco Visaya
-- added swL2TrunkVLANTable
-- added swL2DevCtrlVLANTrunkState
-- -----------------------------------------------------------------------------
-- Version 2.04, 2008/05/29, Marco Visaya
-- added swL2IGMPSnoopingMulticastVlanState
-- added swL2IGMPMulticastVlanTable
-- added swL2IGMPMulticastVlanGroupTable
-- added swL2IGMPv3Table
-- added swIGMPSnoopingGroupTable
-- -----------------------------------------------------------------------------
-- Version 2.03, 2008/05/22, Marco Visaya
-- add swL2IGMPAccessAuthTable
-- -----------------------------------------------------------------------------
-- Version 2.02, 2008/03/25, Marco Visaya
-- add swL2DhcpLocalRelayMgmt
-------------------------------------------------------------------------------
-- Version 2.01, 2008/03/07, Marco Visaya
-- add swL2IGMPRouterPortForbiddenPortList
-------------------------------------------------------------------------------
-- Version 2.00, 2008/01/22, Marco Visaya
-- add swL2PortCtrlMDIXState for new feature request
-- configure MDIX setting of port
-------------------------------------------------------------------------------
-- Version 1.06, 2007/2/22, Marco Visaya
-- Add swL2DevCtrlAsymVlanState
-------------------------------------------------------------------------------
-- Version 1.05, 2007/1/28,Marco Visaya
-- Add s2L2VlanMultiply*
-------------------------------------------------------------------------------
-- Version 1.04, 2007/1/23,Grace Liu
-- Add swL2DevCtrlLLDPState
-------------------------------------------------------------------------------
-- Version 1.03, 2007/12/01, Peter Hsieh
-- Add swL2VlanAdvertisementTable swL2LoopDetectMgmt, swL2MultiFilter
-------------------------------------------------------------------------------
-- Version 1.02, 2005/4/8, Scott Slong
-- Add swL2DevCtrlManagementVlanId
-------------------------------------------------------------------------------
-- Version 1.01, 2004/9/21, Karen Huang
-- Add swL2PortCableDiagnosisTable
------------------------------------------------------------------------------- 	
-- Version 1.00
-- Remove swDevInfoSystemUptime, swDevInfoConsoleInuse,swL2DevCtrlUpDownloadState,swDevInfoSaveCfg
-- Remove swL2DevCtrlUpDownloadImageFileName ,swL2DevCtrlUpDownloadImageSourceAddr
-- Remove swL2DevCtrlUpDownloadImage , swL2DevCtrlSaveCfg

------------------------------------------------------------------------------- 	
-- Version 0.02, 2002/07/30, 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
-- Removed swL2TrafficMgmt
-------------------------------------------------------------------------------
-- Version 0.01, 2000/07/03,Chrissy Chen   
-- Removed swL2PortTxPrioQueueCtrlTable
-- Modified swL2PortCtrlBMStromPercentage to swL2PortCtrlBMStromthreshold  
--   
-------------------------------------------------------------------------------

DES3028P-L2MGMT-MIB DEFINITIONS ::= BEGIN
  IMPORTS
	TEXTUAL-CONVENTION			FROM SNMPv2-TC
	MODULE-IDENTITY,OBJECT-TYPE,
	Unsigned32,Integer32,TimeTicks			FROM SNMPv2-SMI
	IpAddress				FROM RFC1155-SMI
	RowStatus,TruthValue			FROM SNMPv2-TC
	SnmpAdminString         		FROM SNMP-FRAMEWORK-MIB
	DisplayString				FROM RFC1213-MIB
	des3028p					FROM SWPRIMGMT-DES30XXP-MIB;
	
	swL2MgmtMIB MODULE-IDENTITY
		LAST-UPDATED "1008030000Z"
	  	ORGANIZATION "D-Link, Inc."
	  	CONTACT-INFO
	   		"http://support.dlink.com"
	  	DESCRIPTION
	    		"The Structure of Layer 2 Network Management Information for enterprise."
	  	::= {des3028p 2} 
	  		
	VlanId		::= INTEGER (1..4094)
	PortList		::= OCTET STRING(SIZE (0..127))
	MacAddress	::= OCTET STRING(SIZE(6))  -- A 6 octet address
						   -- in the "canonical"
						   -- order, copy from RFC1493
-- Textual Convention for PortList
-- Define the PortList, comes from RFC2674

swL2DevMgmt		OBJECT IDENTIFIER ::= { swL2MgmtMIB 1 }
swL2PortMgmt		OBJECT IDENTIFIER ::= { swL2MgmtMIB 2 }
swL2QOSMgmt		OBJECT IDENTIFIER ::= { swL2MgmtMIB 3 }
swL2TrunkMgmt		OBJECT IDENTIFIER ::= { swL2MgmtMIB 4 }
-- lagMIBObjects	OBJECT IDENTIFIER ::= { swL2MgmtMIB 5 }
swPortMirrorPackage	OBJECT IDENTIFIER ::= { swL2MgmtMIB 6 }
swIGMPPackage		OBJECT IDENTIFIER ::= { swL2MgmtMIB 7 }
-- swPortRatePackage	OBJECT IDENTIFIER ::= { swL2MgmtMIB 8 }
-- swPortBindingPackage	OBJECT IDENTIFIER ::= { swL2MgmtMIB 9 }
-- swPortBaseVlanMgmt	OBJECT IDENTIFIER ::= { swL2MgmtMIB 10 }
--swL2TrafficMgmt		OBJECT IDENTIFIER ::= { swL2MgmtMIB 11 }
swL2TrafficSegMgmt	OBJECT IDENTIFIER ::= { swL2MgmtMIB 12 }
-- swPriToTrafficMgmt	OBJECT IDENTIFIER ::= { swL2MgmtMIB 13 } 
-- loadPortSegmentation OBJECT IDENTIFIER ::= { swL2MgmtMIB 14 }
swL2PortSecurityMgmt	OBJECT IDENTIFIER ::= { swL2MgmtMIB 15 }
--swL2StpMgmt		OBJECT IDENTIFIER ::= { swL2MgmtMIB 16 }
swL2CosMgmt		OBJECT IDENTIFIER ::= { swL2MgmtMIB 17 }
swL2DhcpRelayMgmt       	OBJECT IDENTIFIER ::= { swL2MgmtMIB 18 }
--swL2LimitedMulticastMgmt	OBJECT IDENTIFIER ::= { swL2MgmtMIB 19 }
swL2MgmtMIBTraps	OBJECT IDENTIFIER ::= { swL2MgmtMIB 20 }
swL2LoopDetectMgmt          OBJECT IDENTIFIER ::= { swL2MgmtMIB 21 }
swL2MultiFilter             OBJECT IDENTIFIER ::= { swL2MgmtMIB 22 }
swL2VlanMgmt                OBJECT IDENTIFIER ::= { swL2MgmtMIB 23 }
swL2DhcpLocalRelayMgmt       	OBJECT IDENTIFIER ::= { swL2MgmtMIB 24 }
swL2FloodMAC        OBJECT IDENTIFIER ::= { swL2MgmtMIB 25 }
	  		
--*****************************
-- add by ynot for lag
-- dot3adAggrPortMgmt	OBJECT IDENTIFIER ::= { lagMIBObjects 1 }
-- add for load traffic
--******************************

-- ********************************************************************
--        swL2DevMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB 5 }
-- ********************************************************************

swL2DevInfo             OBJECT IDENTIFIER ::= { swL2DevMgmt 1 }

--swL2DevInfoSystemUpTime OBJECT-TYPE
--    SYNTAX  TimeTicks
--    MAX-ACCESS  read-only
--    STATUS  current
--    DESCRIPTION
--        "The value of sysUpTime at the time the switch entered its 
--        current operational state. If the current state was entered 
--        prior to the last re-initialization, then this object contains
--        a zero value. This value is in units of seconds."
--    ::= { swL2DevInfo 1 }

-- swL2DevInfoTotalNumOfPort OBJECT-TYPE
--     SYNTAX  INTEGER (0..255)
--     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 2 }

-- swL2DevInfoNumOfPortInUse OBJECT-TYPE
--     SYNTAX  INTEGER (0..255)
--     MAX-ACCESS  read-only
--     STATUS  current
--     DESCRIPTION
--          "The number of ports in this switch connected to the segment or
--           the end stations."
--      ::= { swL2DevInfo 3 }

--  swL2DevInfoConsoleInUse   OBJECT-TYPE
--     SYNTAX  INTEGER {
--            other(1),
--            in-use(2),
--            not-in-use(3)
--            }
--     MAX-ACCESS  read-only
--     STATUS  current
--     DESCRIPTION
--        "This usage indication of console system."
--     ::= { swL2DevInfo 4 }

swL2DevInfoFrontPanelLedStatus OBJECT-TYPE
       SYNTAX  OCTET STRING (SIZE (0..127))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
         "This object is a set of system LED indications.
         
         When log in system DES3028/DES3052 which do not support POE, the first
         two octets is defined as system LED. The first LED is power LED. The
	 second LED is console LED. 
	 
	 When log in system DES3028p/DES3052p which support POE, the first 
	 four octets are defined as system LED. The first octet is 0x02 and the
	 second octet is 0x01 when in normal mode. Contrarily, the first octet
	 is 0x01 and the second octet is 0x02 when in poe mode. The third octet
	 indicates the power LED. The fourth octet indicates the console LED.
	 
	 The other octets are defined as follow:

	 start on the third or fifth octets separately correspond to system support
	 poe or system which does not support poe indicate the logical port LED 
	 (following swL2BasePort ordering). Every two bytes are presented to a port. 
	 The first byte is presentd to the Link/Activity LED. The second byte is 
	 presented to the Speed LED.

	 Link/Activity LED :

	 The most significant bit is used for blink/solid:
	 8 = The LED blinks.
	 
	 The second 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 5 }
              
--swL2Module-1-Type OBJECT-TYPE
--       SYNTAX  INTEGER {
--       	                  none(0),
--                                moduleType-DEM-301T(1),
--                                moduleType-DEM-201F(2),
--                                moduleType-DEM-301G(3),
--                                moduleType-COMBA(4),
--        	        	    moduleType-DEM-201FL(5)
--                       }
--       MAX-ACCESS  read-only
--       STATUS  current
--       DESCRIPTION
--         	"This object indicates the module type."
--       ::= { swL2DevInfo 6 }
--                       
--swL2Module-2-Type OBJECT-TYPE
--       SYNTAX  INTEGER {
--                                none(0),
--                                moduleType-DEM-301T(1),
--                                moduleType-DEM-201F(2),
--                                moduleType-DEM-301G(3),
--                                moduleType-COMBA(4),
--        	        	    moduleType-DEM-201FL(5)
--                       }
--       MAX-ACCESS  read-only
--       STATUS  current
--       DESCRIPTION
--         	"This object indicates the module type."
--       ::= { swL2DevInfo 7 }
--                
--***************************************************************************************************************                
--swL2CPUutilization          OBJECT IDENTIFIER ::= { swL2DevMgmt 3 }               
--        swL2CPUutilizationIn5sec OBJECT-TYPE
--                SYNTAX  Integer32
--               MAX-ACCESS  read-only
--                STATUS  current
--                DESCRIPTION
--                "Time scale is 5 seconds.The value will be between 0%(idle) and 100%
--                (very busy)."
--                ::= { swL2CPUutilization 1 }
--
--        swL2CPUutilizationIn1min OBJECT-TYPE
--                SYNTAX  Integer32
--        
--                MAX-ACCESS  read-only
--                STATUS  current
--                DESCRIPTION
--                "Time scale is 1 minute.The value will be between 0%(idle) and 100%
--                (very busy)."
--                ::= { swL2CPUutilization 2 }
--
--        swL2CPUutilizationIn5min OBJECT-TYPE
--                SYNTAX  Integer32
--                MAX-ACCESS  read-only
--                STATUS  current
--                DESCRIPTION
--                "Time scale is 5 minute.The value will be between 0%(idle) and 100%
--                (very busy)."
--                ::= { swL2CPUutilization 3 } 
 

    -- *******************************************************

          swL2DevCtrl             OBJECT IDENTIFIER ::= { swL2DevMgmt 2 }

          swL2DevCtrlSystemReboot OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          reboot(2),
                          save-config-and-reboot(3),
                          reboot-and-load-factory-default-config(4)
                         -- reboot-and-load-factory-default-config-except-ip-address(5)
                      }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "This object indicates the agent system reboot state. The agent always
                  returns other(1) when this object is read."
              ::= { swL2DevCtrl 1 }

          swL2DevCtrlSystemIP OBJECT-TYPE
              SYNTAX  IpAddress
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "This object indicates system ip."
              ::= { swL2DevCtrl 2 }

          swL2DevCtrlSubnetMask OBJECT-TYPE
              SYNTAX  IpAddress
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "This object indicates system subnet mask."
              ::= { swL2DevCtrl 3 }

          swL2DevCtrlDefaultGateway OBJECT-TYPE
              SYNTAX  IpAddress
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "This object indicates system default gateway."
              ::= { swL2DevCtrl 4 }

          swL2DevCtrlManagementVlanId OBJECT-TYPE
              SYNTAX  VlanId
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "This object controls which Vlan includes system ip. And the Vlan
                  should have been created."
              ::= { swL2DevCtrl 5 }

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

          swL2DevCtrlIGMPSnooping OBJECT-TYPE
              SYNTAX  INTEGER {
                     other(1),
                     disabled(2),
                     enabled(3)
                     }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "This object indicates layer 2 Internet Group Management Protocol
                  (IGMP) capture function is enabled or disabled ."
              ::= { swL2DevCtrl 7 }

--          swL2DevCtrlBcastStormCtrl OBJECT-TYPE
--              SYNTAX  INTEGER {
--                     other(1),
--                     disabled(2),
--                     enabled(3)
--                     }
--              MAX-ACCESS  read-write
--              STATUS  current
--              DESCRIPTION
--                 "This object indicates broadcast storm control function is enabled or
--                 disabled. The swL2PortCtrlBMDStormLimit object will descript the 
--                 detail about the storm control ."
--              ::= { swL2DevCtrl 8 }

--swL2DevCtrlMcastStormCtrl OBJECT-TYPE
--    SYNTAX  INTEGER {
--          other(1),
--          disabled(2),
--          enabled(3)
--          }
--   MAX-ACCESS  read-write
--   STATUS  current
--   DESCRIPTION
--      "This object indicates multicast storm control function is enabled or
--      disabled. The swL2PortCtrlBMDStormLimit object will descript the 
--      detail about the storm control ."
--   ::= { swL2DevCtrl 9 }

--swL2DevCtrlDestLookupFailureCtrl OBJECT-TYPE
--    SYNTAX  INTEGER {
--           other(1),
--          disabled(2),
--           enabled(3)
--           }
--    MAX-ACCESS  read-write
--    STATUS  current
--    DESCRIPTION
--      "This object indicates destination lookup failure rate control function
--      is enabled or disabled. The swL2PortCtrlBMDStormLimit object will
--      descript the detail about the storm control ."
--    ::= { swL2DevCtrl 10 }

-- swL2DevCtrlBMDStormLimit OBJECT-TYPE
--   SYNTAX  INTEGER (0..262143)
--   MAX-ACCESS  read-write
--  STATUS  current
--  DESCRIPTION
--      "This object to decide how many broadcast/multicast (depend on
--      swL2DevCtrlBcastStormCtrl, swL2DevCtrlMcastStormCtrl or
--      swL2DevCtrlDestLookupFailureCtrlobjects whether is enabled) packets per second
--      will pass thru. Beyond the limit, the device will start dropping
--      that type of packet until the second interval has expired . Once the time
--      interval has expired , the device will start forwarding that type of packet."
--  ::= { swL2DevCtrl 11 }  
   
swL2DevCtrlCleanAllStatisticCounter OBJECT-TYPE
              SYNTAX  INTEGER {
                     normal(1),
                     active(2)
                     }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "As the object is set to active, all the statistic counters will be cleared.
                  If set to normal, do nothing."
              ::= { swL2DevCtrl 12 }

swL2DevCtrlSnmpEnableAuthenTraps OBJECT-TYPE
              SYNTAX      INTEGER { enabled(1), disabled(2) }
              MAX-ACCESS  read-write
              STATUS      current
              DESCRIPTION
                      "Indicates whether the SNMP entity is permitted to generate
                      authenticationFailure traps.  The value of this object
                      overrides any configuration information; as such, it
                      provides a means whereby all authenticationFailure traps may
                      be disabled.

                      Note that it is strongly recommended that this object be
                      stored in non-volatile memory so that it remains constant
                      across re-initializations of the network management system."
              ::= { swL2DevCtrl 13 }   
              
        -- swL2DevCtrlFilterEAPOLPDU OBJECT-TYPE
         --     SYNTAX      INTEGER { yes(1), no(2) }
         --     MAX-ACCESS  read-write
          --    STATUS      current
           --   DESCRIPTION
           --           "Indicates whether to filter the EAPOL PDU. If the administrative  
           --           state for Port Access Control in a System is enabled, this object
            --          is meaningless. Otherwise, when this object is yes(1), the EAPOL
            --          packets will be dropped. When this object is no(2), the EAPOL 
            --          packets will pass."
           --   ::= { swL2DevCtrl 14 }

          --swL2DevCtrlTrafficSegmentation OBJECT-TYPE
           --   SYNTAX      INTEGER { enabled(1), disabled(2) }
           --   MAX-ACCESS  read-write
           --   STATUS      current
           --   DESCRIPTION
           --           "If this object is disabled(2), then no traffic segmentation. 
                      
          --            When we set it to enabled(1), there are three conditions for the 
          --            traffic segmentation.
          --            (1) If without plugging in option module, port 1 is the server port.
          --            (2) If plugging in one-port module, the port on the module is the 
          --                server port.
          --            (3) If plugging in two-port module, these two ports on the module are
          --                the server ports.
                      
          --            Under this situation, other ports(Client ports) can only communicate 
          --            with the server port. Client ports can't communicate with each other."
          --    ::= { swL2DevCtrl 15 }

        swL2DevCtrlRmonState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object can be enabled or disabled RMON."
        ::= { swL2DevCtrl 16 }

        swL2DevCtrlIpAutoConfig OBJECT-TYPE
	    SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Indicates  the status of automatically getting configuration from TFTP server on device"
        ::= { swL2DevCtrl 17 }  

--     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 decide the multicast packets filtering mode on all port . "   
--          ::= { swL2DevCtrl 18 }           

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

    swL2MACNotifyHistorySize OBJECT-TYPE
	    SYNTAX  INTEGER (1..500)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
        "This object indicates the history size of variation MAC in address table. 
	         The default value is 1 ."
    ::= { swL2DevCtrl 20 }        
        
    swL2MACNotifyInterval OBJECT-TYPE
	    SYNTAX  INTEGER (1..2147483647)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the time interval in second for trigger the MAC notify message. "
	    ::= { swL2DevCtrl 21 }    
	    
    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 22 }
     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 Units packet will be forwarded. "
        DEFVAL  {disabled}
       ::={swL2DevCtrl 23}   
       
	swL2DevCtrlAsymVlanState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object enables or disables the asymmetric VLAN feature of the device."
        ::= { swL2DevCtrl 24 }   
        
      swL2IGMPSnoopingMulticastVlanState  OBJECT-TYPE
        SYNTAX  INTEGER
                {
                  enabled(1),
                  disabled(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
               "This indicates the global state of the igmp_snoop multicast_vlan."
        ::={swL2DevCtrl 25}             		
        
      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 26}             		        
        
    swL2DevCtrlWeb   OBJECT IDENTIFIER ::= { swL2DevCtrl 27 }

    swL2DevCtrlWebState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object controls Web status."
        ::= { swL2DevCtrlWeb 1 }
        
    swL2DevCtrlTelnet   OBJECT IDENTIFIER ::= { swL2DevCtrl 28 }     
        
    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 }         
        
-- -----------------------------------------------------------------------------    
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 Topology Change 
             trap is sent by the device when any of its configured ports transition 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 in another state."
        ::= { 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              
              changes. If the object is enabled (3), the Link Change trap is sent by 
             the device when any of its port links change. The device does not send the 
             trap if this object value is disabled or in another state."
        ::= { swL2DevAlarm 3 }

-- ********************************************************************
--  swL2PortMgmt            OBJECT IDENTIFIER ::= { swL2MgmtMIB 6 }
-- ********************************************************************

          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,    
                  --swL2PortInfoType
                   --   INTEGER,
                 -- swL2PortInfoDescr
                 --     DisplayString,
                  swL2PortInfoLinkStatus
                      INTEGER,
                  swL2PortInfoNwayStatus
                      INTEGER
              }

          swL2PortInfoPortIndex OBJECT-TYPE
              SYNTAX  INTEGER (1..255)
              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(100),
	  		fiber(101)
	  		}
	  	MAX-ACCESS read-only
	      	STATUS	current
	      	DESCRIPTION
	          	"This object indicates the port type: fiber or copper."
	      	::= { swL2PortInfoEntry 2 }
	      
          --swL2PortInfoType OBJECT-TYPE
          --    SYNTAX  INTEGER {
          --           other(1),
          --           portType-UTP(2),
          --           portType-AUI(3),
           --          portType-Fiber-MTRJ(4),
           --          portType-Fiber-SC(5),
           --          portType-Fiber-GBIC(6),
           --          portType-BNC(7)
           --          }
           --   MAX-ACCESS  read-only
           --   STATUS  current
           --   DESCRIPTION
            --      "This object indicates the connector type of this port."
            --  ::= { swL2PortInfoEntry 2 }

          --swL2PortInfoDescr OBJECT-TYPE
           --   SYNTAX DisplayString (SIZE(0..64))
           --   MAX-ACCESS  read-only
           --   STATUS  current
           --   DESCRIPTION
           --       "Provides port type information in displayed string format"
           --   ::= { swL2PortInfoEntry 3 }

          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 4 }

          swL2PortInfoNwayStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                     --other(1),
                     --half-10Mbps(2),
                     --full-10Mbps(3),
                     --half-100Mbps(4),
                     --full-100Mbps(5),
                     --half-1Gigabps(6),
                     --full-1Gigabps(7)
                     auto(1),
                     half-10Mbps(2),
                     full-10Mbps(3),
                     half-100Mbps(4),
                     full-100Mbps(5),
                     half-1Gigabps(6),
                     full-1Gigabps(7)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object indicates the port speed and duplex mode."
              ::= { swL2PortInfoEntry 5 }
              
              
        

    -- *******************************************************

          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,swL2PortCtrlPortMediumType }
              ::= { swL2PortCtrlTable 1 }

          SwL2PortCtrlEntry ::= 
              SEQUENCE {
                  swL2PortCtrlPortIndex
                      INTEGER,
                  swL2PortCtrlPortMediumType
                      INTEGER,    
                  swL2PortCtrlAdminState
                      INTEGER,
                  swL2PortCtrlNwayState
                      INTEGER,
                  swL2PortCtrlFlowCtrlState
                      INTEGER,
                  swL2PortCtrlDescription
		      DisplayString,
		  swL2PortCtrlAddressLearning
		      INTEGER,
		  swL2PortCtrlMACNotifyState
                      INTEGER,
                  swL2PortCtrlMulticastfilter
                      INTEGER,
				  swL2PortCtrlMDIXState
				  	  INTEGER                      
                  --swL2PortCtrlCleanStatCounter
                  --    INTEGER
              }

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

	  swL2PortCtrlPortMediumType	OBJECT-TYPE
	      SYNTAX  INTEGER {
	      		copper(100),
	      		fiber(101)
	      		}
	      MAX-ACCESS read-write
	      STATUS	current
	      DESCRIPTION
	          "This object indicates the port type: fiber or copper."
	      ::= { swL2PortCtrlEntry 2 }
	      
          swL2PortCtrlAdminState OBJECT-TYPE
              SYNTAX  INTEGER {
                     other(1),
                     disabled(2),
                     enabled(3)
                     }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "This object decides whether the port is enabled or disabled."
              ::= { swL2PortCtrlEntry 3 }

          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-auto(1),
                     nway-disabled-10Mbps-Half(2),
                     nway-disabled-10Mbps-Full(3),
                     nway-disabled-100Mbps-Half(4),
                     nway-disabled-100Mbps-Full(5),
--                     nway-disabled-1Gigabps-Half(6),
                     nway-disabled-1Gigabps-Full(7),
                     nway-disabled-1Gigabps-Full-Master(8),
                     nway-disabled-1Gigabps-Full-Slave(9)
                     }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "Choose the port speed, duplex mode, and N-Way function mode."
              ::= { swL2PortCtrlEntry 4 }

          swL2PortCtrlFlowCtrlState OBJECT-TYPE
              SYNTAX  INTEGER {
                     other(1),
                     disabled(2),
                     enabled(3)
                     }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "Set the flow control function as enabled or disabled."
              ::= { swL2PortCtrlEntry 5 }
              
            swL2PortCtrlDescription OBJECT-TYPE
		SYNTAX DisplayString(SIZE(0..32))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The object describes the ports in text."
		::= { swL2PortCtrlEntry 6 }
		
	    swL2PortCtrlAddressLearning OBJECT-TYPE
              SYNTAX  INTEGER {
                     other(1),
                     disabled(2),
                     enabled(3)
                     }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "This object decides whether the address learning is enabled or disabled."
              ::= { 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 decides the multicast packet filtering mode on this port. "   
          ::= { swL2PortCtrlEntry 9 }

		swL2PortCtrlMDIXState OBJECT-TYPE
		        SYNTAX  INTEGER {
		               auto(1),
		               normal(2),
		               cross(3),
		               other(4)
		               }
		        MAX-ACCESS  read-write
		        STATUS  current
		        DESCRIPTION
		            "This object configures the MDIX setting of the port. 
		            The value 'other' is for those entries in which MDIX is not applicable."
		        ::= { swL2PortCtrlEntry 10 }              
          
 --         swL2PortCtrlCleanStatCounter OBJECT-TYPE
 --             SYNTAX  INTEGER {
 --                    normal(1),
  --                   active(2)
  --                   }
 --             MAX-ACCESS  read-write
  --            STATUS  current
  --            DESCRIPTION
  --                "As the object is set to active, the statistic counters of this port will be
  --                cleared. If set to normal, do nothing."
  --            ::= { swL2PortCtrlEntry 5 }

          swL2PortErrTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2PortErrEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "A table that contains information about the Err port."
              ::= { swL2PortMgmt 3 }

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

          SwL2PortErrEntry ::= 
              SEQUENCE {
                  swL2PortErrPortIndex
                      INTEGER,
                  swL2PortErrPortState
                      INTEGER,
                  swL2PortErrPortStatus
                      INTEGER,
                  swL2PortErrPortReason
                      INTEGER,
                  swL2PortErrDescription
		      DisplayString
                      
              }

          swL2PortErrPortIndex OBJECT-TYPE
              SYNTAX  INTEGER (1..255)
              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 {
                     disabled(1),
                     enabled(2)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object decides whether the port state is enabled or disabled."
              ::= { swL2PortErrEntry 2 }
              
	  swL2PortErrPortStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                     other(1),
                     err-disabled(2)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object decides whether the PortStatus is err-disabled."
              ::= { swL2PortErrEntry 3 }
               
	  swL2PortErrPortReason OBJECT-TYPE
              SYNTAX  INTEGER {
                     stp-lbd(1),
                     storm-control(2),
                     ddm(3),
                     duld(4)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object indicates the module which disabled the port."
              ::= { swL2PortErrEntry 4 }
              
          swL2PortErrDescription OBJECT-TYPE
		SYNTAX DisplayString(SIZE(0..32))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The object describes the ports in text."
		::= { swL2PortErrEntry 5 }
  
  -- ********************************************************************
--        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 swL2QOSBandwidthControlTable."
		INDEX   { swL2QOSBandwidthPortIndex }
		::= { swL2QOSBandwidthControlTable 1 }
	
	SwL2QOSBandwidthControlEntry ::=
		SEQUENCE {
		  swL2QOSBandwidthPortIndex
		      INTEGER,
		  swL2QOSBandwidthRxRate
		      INTEGER,
		  swL2QOSBandwidthTxRate
		      INTEGER,
		  swL2QOSBandwidthRadiusRxRate
	          INTEGER,
		  swL2QOSBandwidthRadiusTxRate
	          INTEGER
		}
	
	swL2QOSBandwidthPortIndex OBJECT-TYPE
		SYNTAX  INTEGER (1..650)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the port."
		::= { swL2QOSBandwidthControlEntry 1 }
	
	swL2QOSBandwidthRxRate OBJECT-TYPE
		SYNTAX  INTEGER (64..1024000)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates the RX Rate(Mbit/sec) of the specifed port. A value of 1024000 means no limit."
		::= { swL2QOSBandwidthControlEntry 2 }
	
	swL2QOSBandwidthTxRate OBJECT-TYPE
		SYNTAX  INTEGER (64..1024000)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates the TX Rate(Mbit/sec) of the specifed port. A value of 1024000 means no limit. "
		::= { swL2QOSBandwidthControlEntry 3 }	
		
	swL2QOSBandwidthRadiusRxRate OBJECT-TYPE
		SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
		      "The Rx Rate value comes from the RADIUS server,
		       If an 802.1X port is authenticated, this value
		       will overwrite the locally configured Rx Rate. "
	    ::= { swL2QOSBandwidthControlEntry 4 }
	    
	  swL2QOSBandwidthRadiusTxRate OBJECT-TYPE
		SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
		      "The Tx Rate value comes from the RADIUS server,
		       If an 802.1X port is authenticated, this value
		       will overwrite the locally configured Tx Rate. "
	    ::= { 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,
--		  swL2QOSSchedulingMaxLatency
--		      INTEGER,
                  swL2QOSSchedulingMaxWeight
		      INTEGER,
		  swL2QOSSchedulingMechanism
		      INTEGER
		}
	
	swL2QOSSchedulingClassIndex OBJECT-TYPE
		SYNTAX  INTEGER (0..3)
		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 255 can be specified."
--		::= { swL2QOSSchedulingEntry 2 }
--	
--	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 transmit
--		       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 3*16=48 ms. The queue will continue transmitting
--		       the last packet until it is finished when the max_latency timer expires. "
--		::= { swL2QOSSchedulingEntry 3 }

        swL2QOSSchedulingMaxWeight OBJECT-TYPE
		SYNTAX  INTEGER (1..55)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      " "
		::= { swL2QOSSchedulingEntry 4 }
	
	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 5 }
		
	swL2QOSSchedulingMechanismCtrl OBJECT-TYPE
		SYNTAX	INTEGER {
                 strict(1),
--                   roundrobin(2),
                 weightfair(2),
			   none(3)
                 }
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "This object can control QOS scheduling Mechanism."
		::= { swL2QOSMgmt 5 }
      
      -- *******************************************************
    
	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..3)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "The number of the switch's hardware priority queue. The switch has four hardware 
		       priority queues available. They are numbered between 0 (the lowest priority)
		        and 3 (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..650)
		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
	      "Indicates 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 }
    		
--	swL2QOSDscpMappingTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF SwL2QOSDscpMappingEntry
--		MAX-ACCESS not-accessible
--		STATUS	current
--		DESCRIPTION
--			""
--		::= { swL2QOSMgmt 6 }
--    
--	swL2QOSDscpMappingEntry OBJECT-TYPE
--		SYNTAX SwL2QOSDscpMappingEntry
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			""
--		INDEX { swL2QOSDscpIndex }
--		::= { swL2QOSDscpMappingTable 1 }
--    
--	SwL2QOSDscpMappingEntry ::=
--		SEQUENCE {
--		  swL2QOSDscpIndex
--		      INTEGER,
--		  swL2QOSDscpClass
--		      INTEGER
--		}
--	
--	swL2QOSDscpIndex OBJECT-TYPE
--		SYNTAX  INTEGER (0..63)
--		MAX-ACCESS  read-only
--		STATUS  current
--		DESCRIPTION
--		      ""
--		::= { swL2QOSDscpMappingEntry 1 }
  --  
	--swL2QOSDscpClass OBJECT-TYPE
	--	SYNTAX  INTEGER (0..3)
	--	MAX-ACCESS  read-write
	--	STATUS  current
	--	DESCRIPTION
	--	      ""
	--	::= { swL2QOSDscpMappingEntry 2 }
    --
	--swL2QOSPortDscpTable OBJECT-TYPE
	--	SYNTAX SEQUENCE OF SwL2QOSPortDscpEntry
	--	MAX-ACCESS not-accessible
	--	STATUS	current
	--	DESCRIPTION
	--		""
	--	::= { swL2QOSMgmt 7 }
    --
	--swL2QOSPortDscpEntry OBJECT-TYPE
	--	SYNTAX SwL2QOSPortDscpEntry
	--	MAX-ACCESS not-accessible
	--	STATUS current
	--	DESCRIPTION
	--		""
	--	INDEX { swL2QOSPortDscpIndex }
	--	::= { swL2QOSPortDscpTable 1 }
    --
	--SwL2QOSPortDscpEntry ::=
	--	SEQUENCE {
	--	  swL2QOSPortDscpIndex
	--	      INTEGER,
	--	  swL2QOSPortDscpStatus
	--	      INTEGER
	--	}
	--
	--swL2QOSPortDscpIndex OBJECT-TYPE
	--	SYNTAX  INTEGER (1..10)
	--	MAX-ACCESS  read-only
	--	STATUS  current
	--	DESCRIPTION
	--	      ""
	--	::= { swL2QOSPortDscpEntry 1 }
    --
	--swL2QOSPortDscpStatus OBJECT-TYPE
	--	SYNTAX  INTEGER {
	--				other(1),
	--				disable(2),
	--				enable(3)
	--				}
	--	MAX-ACCESS  read-write
	--	STATUS  current
	--	DESCRIPTION
	--	      ""
	--	::= { swL2QOSPortDscpEntry 2 }
    --
    --
 			

-- ************************************************************************
--  swPortTrunkTable       
-- ************************************************************************
	swPortTrunkMaxEntries OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-only
		STATUS	current
		DESCRIPTION
			"The max entries of the swPortTrunkTable"
		::= { swL2TrunkMgmt 1}
	
	swPortTrunkMaxPortMembers OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-only
		STATUS	current
		DESCRIPTION
			"The max number of ports allowed in a trunk."
		::= { swL2TrunkMgmt 2}

    swPortTrunkTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SwPortTrunkEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table specifies the port membership for each logical link."
        ::= { swL2TrunkMgmt 3 }

		
    swPortTrunkEntry OBJECT-TYPE
        SYNTAX SwPortTrunkEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of information that specifies which port group forms
             a single logical link."
        INDEX  { swPortTrunkIndex }
        ::= { swPortTrunkTable 1 }

    SwPortTrunkEntry ::= 
        SEQUENCE {
            swPortTrunkIndex
                Integer32,
            swPortTrunkMasterPort
                Integer32,
            swPortTrunkPortList
                PortList,
            swPortTrunkType
                INTEGER,
			swPortTrunkActivePort
				PortList,
            swPortTrunkState
                RowStatus,
            swPortTrunkFloodingPort
            	   Integer32 
        }

    swPortTrunkIndex OBJECT-TYPE
        SYNTAX Integer32 (1..3) 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The index of logical port trunk."
        ::= { swPortTrunkEntry 1 }

   

    swPortTrunkMasterPort OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The object indicates the master port number of the port trunk entry. The 
            first port of the trunk is implicitly configured to be the master logical 
            port. When using a Port Trunk, you can not configure the other ports of 
            the group except the master port. Their configuration must be the same as the
            master port (e.g. speed, duplex, enabled/disabled, flow control, and so on)." 
        ::= { swPortTrunkEntry 2 }

    swPortTrunkPortList OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Indicate member ports of a logical trunk."
        ::= { swPortTrunkEntry 3 }
        
        --add
     swPortTrunkType OBJECT-TYPE
        SYNTAX INTEGER{
               static(1),
               lacp(2)
               }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object indicates the type of this entry."
        ::= { swPortTrunkEntry 4 }
	
	swPortTrunkActivePort OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object indicates the active ports of this entry."
        ::= { swPortTrunkEntry 5 }
    
    swPortTrunkState OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object indicates the status of this entry. 
            when the state is CreatAndGo (4),the type of trunk is static (1);
            when the state is CreatAndWait (5), the type of trunk is lacp(2).
            "
        ::= { swPortTrunkEntry 6 }

    swPortTrunkFloodingPort OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The flooding port of every trunk."
        ::= { swPortTrunkEntry 7 }
 
 
    swL2TrunkAlgorithm OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                mac-source(2),
                mac-destination(3),
                mac-source-dest(4)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object configures part of the packet to be 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 port group a set of ports (up to 8)
            is formed 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 port group a set of 
            ports (up to 8) is formed 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 the logical port LACP. "
        ::= { swL2TrunkLACPPortEntry 1 }

    swL2TrunkLACPPortState OBJECT-TYPE
        SYNTAX  INTEGER{
                  active(1),
                  passive(2)
--                  stacking-port(3)
                  }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The state of the 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              
-- **************************************************************************
--	swPortMirrorMaxEntries OBJECT-TYPE
--		SYNTAX Integer32
--		MAX-ACCESS read-only
--		STATUS	current
--		DESCRIPTION
--			"The max entries of this swPortMirrorCtrlTable."
--		::= { swPortMirrorPackage 1}
	
--    swPortMirrorCtrlTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF SwPortMirrorCtrlEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "A list of port snooping entries. Port mirroring function provides an easy
--            way to monitor traffic on any port. In this way any good packet appears
--            on the source mirror port also shows up on the target mirror port and 
 --           doesn't reconstruct the LAN."
 --       ::= { swPortMirrorPackage 2 }

--    swPortMirrorCtrlEntry OBJECT-TYPE
--        SYNTAX SwPortMirrorCtrlEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "A list of information to provide an easy way to monitor traffic on any port.
--            It can be used to attach a fancy network monitor to any target mirror 
--            port and set the port to be monitored as source mirror port. "
 --       INDEX  { swPortMirrorIndex }
 --       ::= { swPortMirrorCtrlTable 1 }

 --   SwPortMirrorCtrlEntry ::= 
 --       SEQUENCE {
 --        swPortMirrorIndex
 --               Integer32,
 --        swPortMirrorSourcePort
           --    Integer32,
--            swPortMirrorRxPortList
--                PortList,
--	      swPortMirrorTxPortList
--                PortList,
--            swPortMirrorTargetPort
--                Integer32,
 --           swPortMirrorDirection
 --           	   INTEGER,
--            swPortMirrorState
 --               RowStatus
 --       }

 --   swPortMirrorIndex OBJECT-TYPE
  --      SYNTAX Integer32
  --      MAX-ACCESS read-only
  --      STATUS current
  --      DESCRIPTION
  --          "This object indicates the port snooping entry number. There is just only 
  --          one now."
  --      ::= { swPortMirrorCtrlEntry 1 }

    swPortMirrorRxPortList OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates the Rx port list of ports to be sniffed."
        ::= { swPortMirrorPackage 2 }

    swPortMirrorTxPortList OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates the Tx port list of ports to be sniffed."
        ::= { swPortMirrorPackage 3 }

    swPortMirrorTargetPort OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates the switch whose 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. "
        ::= { swPortMirrorPackage 4 }

--	swPortMirrorDirection OBJECT-TYPE
--		SYNTAX INTEGER {
				--gavin for eds2626 2003 28th May
--				other(1),
--				ingress(2),
--				egress(3),
--				both(4)
--				}
--		MAX-ACCESS	read-create
--		STATUS		current
--		DESCRIPTION
--			"This object is used to set up the packets that will be mirrored."
--		::= { swPortMirrorCtrlEntry 4}
		
    swPortMirrorState OBJECT-TYPE
	 SYNTAX INTEGER {
				other(1),
				disabled(2),
				enabled(3)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { swPortMirrorPackage 5 }

-- ********************************************************************
--  swL2IGMPMgmt            OBJECT IDENTIFIER ::= { swL2MgmtMIB 3 }
-- ********************************************************************

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

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

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

--------------------------------------------------
-- IGMP Ctrl Table
--------------------------------------------------
    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 mode is disabled, there is only one entry in the table, with index 1. If 
            VLAN is in Port-Based or 802.1q mode, the number of entries can 
            be up to 12, with an index range from 1 to 12."
        ::= { swIGMPPackage 3 }

    swL2IGMPCtrlEntry OBJECT-TYPE
        SYNTAX  SwL2IGMPCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "An entry in IGMP control table (swL2IGMPCtrlTable). The entry
            is effective only when IGMP captures the 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,
            swL2IGMPFastLeave
                INTEGER,
            swL2IGMPDynIPMultVlanState
            	INTEGER,
            swL2IGMPDynIPMultVlanAge
            	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 VLAN is
--            disabled, there is only one entry in the table, with index 1.
--            If VLAN is in Port-Based or 802.1q mode, the 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 VLAN
            is disabled, the VID is always 0 and cannot be changed by
            management users. If VLAN is in Port-Based mode, the VID is
            arranged from 1 to 12, fixed form. If VLAN is in 802.1q mode,  
            the VID setting can vary from 1 to 4094 by management user, and 
            the VID in each entry must be unique in 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 was 
            sent by the host in the LAN. The timer works on a per-VLAN basis.
            Our device will be activated to send the query message 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 }
        
     swL2IGMPFastLeave OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disable(2),
               enable(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "  "
        ::= { swL2IGMPCtrlEntry 12 }
        
   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."
        ::= { swL2IGMPCtrlEntry 13 }    
        
     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."
        ::= { swL2IGMPCtrlEntry 14 }         
        
--------------------------------------------------
-- IGMP Query Info Table
--------------------------------------------------        
    swL2IGMPQueryInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPQueryInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The table contains the number of current IGMP query packets which
            are captured by this device, as well as the IGMP query packets
            sent by the device."
        ::= { swIGMPPackage 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 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 the 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 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, on
            a per-VLAN basis. In case of the IGMP timer expiring, the switch
            sends IGMP query packets to related VLAN member ports and
            increment this object by 1."
        ::= { swL2IGMPQueryInfoEntry 3 }

--------------------------------------------------
-- IGMP Info Table
--------------------------------------------------
    swL2IGMPInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The table containing current IGMP information which was captured by
            this device, provided that swL2DevCtrlIGMPSnooping and
            swL2IGMPCtrlState of associated VLAN entry are all enabled. Note
            that the priority of IGMP table entries is lower than Filtering
            Table, i.e. if there is a table hash collision between the 
            entries of IGMP Table and Filtering Table inside the switch H/W
            address table, then Filtering Table entry overwrite the 
            colliding entry of IGMP Table. Also see swL2FilterMgmt description."
        ::= { swIGMPPackage 5 }

    swL2IGMPInfoEntry OBJECT-TYPE
        SYNTAX  SwL2IGMPInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about current IGMP information which was captured by 
            this device, provided that swL2DevCtrlIGMPSnooping and 
            swL2IGMPCtrlState of associated VLAN entry are all enabled."
        INDEX  { swL2IGMPVid , swL2IGMPGroupIpAddr }
        ::= { swL2IGMPInfoTable 1 }

    SwL2IGMPInfoEntry ::= 
        SEQUENCE {
            swL2IGMPVid
                INTEGER,
            swL2IGMPGroupIpAddr
                IpAddress,
            swL2IGMPMacAddr
                MacAddress,
            swL2IGMPPortMap
                PortList,
            swL2IGMPIpGroupReportCount
                INTEGER
        }

    swL2IGMPVid OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VID of an individual IGMP table entry. 
            It shows the VID of IGMP report information captured on the
            network."
        ::= { swL2IGMPInfoEntry 1 }

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

    swL2IGMPMacAddr OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object identifies the MAC address which is corresponding
            to swL2IGMPGroupIpAddr, on a per-VLAN basis."
        ::= { swL2IGMPInfoEntry 3 }

    swL2IGMPPortMap OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates which ports belong to the same 
            multicast group, on a per-VLAN basis. Each multicast group has an
            octet string to indicate the port map. The most significant
            bit represents the lowest numbered port, and the least 
            significant bit represents the highest numbered port. Thus, each
            port of the switch is represented by a single bit within the 
            value of this object. If that bit has a value of '1' then that 
            port is included in the set of ports; the port is not included 
            if its bit has a value of '0' (Note that the setting of the bit 
            corresponding to the port from which a frame is received is 
            irrelevant). The 4 octets represent one unit port according 
            to its logic port. If the unit is less than 32 ports, the other port will just fill this value with zeros."
        ::= { swL2IGMPInfoEntry 4 }

    swL2IGMPIpGroupReportCount OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        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-VLAN basis." 
        ::= { swL2IGMPInfoEntry 5 }

--------------------------------------------------
-- IGMP Router Port Table
--------------------------------------------------
    swL2IGMPRouterPortTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPRouterPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The information of the router port table."
        ::= { swIGMPPackage 6 }

    swL2IGMPRouterPortEntry OBJECT-TYPE
        SYNTAX  SwL2IGMPRouterPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The entry of the swL2IGMPRouterPortTable."
        INDEX  { swL2IGMPRouterPortVlanid }
        ::= { swL2IGMPRouterPortTable 1 }
        
    SwL2IGMPRouterPortEntry ::= 
        SEQUENCE {
            swL2IGMPRouterPortVlanid
                INTEGER,
            swL2IGMPRouterPortVlanName
                SnmpAdminString,
            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  SnmpAdminString (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 }

--------------------------------------------------
-- IGMP Access Authentication Table
--------------------------------------------------         
    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."
        ::= { swIGMPPackage 7 }

    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
       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 {
				disabled(1),
				enabled(2)
		}
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "This object denotes the status of IGMP Access Authentication of the port."
       ::= { swL2IGMPAccessAuthEntry 2 }  
-- -----------------------------------------------------------------------------
--  swL2IGMPMulticastVlanTable	OBJECT IDENTIFIER ::= { swL2IGMPMgmt 8 }        
-- -----------------------------------------------------------------------------
    swL2IGMPMulticastVlanTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPMulticastVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about the IGMP snooping multicast VLAN table."
        ::= { swIGMPPackage 8 }
        
    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,
             swL2IGMPMulticastVlanUntagSourcePort
       	        PortList,
   	    swL2IGMPMulticastVlanRemapPriority
   	        INTEGER,
            swL2IGMPMulticastVlanReplacePriority
                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 indicates the port list of the source ports of the 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 will be forwarded to the source ports."
        ::= { swL2IGMPMulticastVlanEntry 3 }   

    swL2IGMPMulticastVlanMemberPort OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the port list 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 will be forwarded to the source ports."
        ::= { swL2IGMPMulticastVlanEntry 4 }      
        
    swL2IGMPMulticastVlanTagMemberPort OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the port list of the tag member ports of the 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 used to enable or disable the IGMP snooping multicast VLAN."
        ::= { swL2IGMPMulticastVlanEntry 6 }
            
    swL2IGMPMulticastVlanReplaceSourceIp OBJECT-TYPE
    	SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The replacement 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 whether to remove all the multicast address
    		lists from the IGMP multicast VLAN or not."
    	::= { swL2IGMPMulticastVlanEntry 9 }
    	
     swL2IGMPMulticastVlanUntagSourcePort   OBJECT-TYPE
          SYNTAX PortList
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                "This object indicates the untagged member ports to add to the multicast VLAN."
          ::={ swL2IGMPMulticastVlanEntry 10}
          
      swL2IGMPMulticastVlanRemapPriority   OBJECT-TYPE
          SYNTAX INTEGER (0..8)
          MAX-ACCESS read-create
          STATUS current
          DESCRIPTION
              "The priority value (0 to 7) to be associated with the data traffic
               to be forwarded on the multicast VLAN.
               When set to 8, the packet's original priority will be used."
          DEFVAL {8}
          ::={ swL2IGMPMulticastVlanEntry 11}
          
      swL2IGMPMulticastVlanReplacePriority  OBJECT-TYPE
          SYNTAX INTEGER {
                     true(1),
                     false(2)
                     }
          MAX-ACCESS read-create
          STATUS current
          DESCRIPTION
                "Specifies that a packet's priority will be changed by the switch
                based on the remap priority. This flag will only take effect
                when remap priority is set."
          ::={ swL2IGMPMulticastVlanEntry 12}
-- -----------------------------------------------------------------------------
--  swL2IGMPMulticastVlanGroupTable	OBJECT IDENTIFIER ::= { swL2IGMPMgmt 9 }
-- -----------------------------------------------------------------------------   
    swL2IGMPMulticastVlanGroupTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPMulticastVlanGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The table containing the IGMP snooping multicast VLAN group information"
        ::= { swIGMPPackage 9 }

    swL2IGMPMulticastVlanGroupEntry OBJECT-TYPE
        SYNTAX  SwL2IGMPMulticastVlanGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about the 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 (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VID of the 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 }

-- -----------------------------------------------------------------------------
--  swL2IGMPv3Table	     OBJECT IDENTIFIER ::= { swL2IGMPMgmt 10 }
-- -----------------------------------------------------------------------------

    swL2IGMPv3Table OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPv3Entry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contains the IGMP snooping V3 information."
        ::= { swIGMPPackage 10 }

    swL2IGMPv3Entry OBJECT-TYPE
        SYNTAX  SwL2IGMPv3Entry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about the current IGMP snooping V3."
        INDEX  { swL2IGMPVid , swL2IGMPGroupIpAddr , swL2IGMPv3SourceIPAddr }
        ::= { swL2IGMPv3Table 1 }

    SwL2IGMPv3Entry ::=
        SEQUENCE {
            swL2IGMPv3SourceIPAddr
                IpAddress,
            swL2IGMPv3Forwarding
                INTEGER,
            swL2IGMPv3ExpireTimer
                INTEGER
        }

    swL2IGMPv3SourceIPAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object identifies the source IP addresses from the group where they were captured from.
             IGMP packets, on a per-VLAN basis."
        ::= { swL2IGMPv3Entry 1 }

    swL2IGMPv3Forwarding OBJECT-TYPE
        SYNTAX  INTEGER {
        	enabled(1),
        	disabled(2)
        	}
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object identifies if the packets from the source IP addresses are forwarding or not."
        ::= { swL2IGMPv3Entry 2 }

    swL2IGMPv3ExpireTimer OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object identifies the leaving times of the source time."
        ::= { swL2IGMPv3Entry 3 }
-- -----------------------------------------------------------------------------
-- 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."
        ::= { swIGMPPackage 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 ::= { swIGMPPackage 12 }    
-- ********************************************************************
swL2IGMPDynIpMultMgmt    OBJECT IDENTIFIER ::= { swIGMPPackage 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 } 

swL2IGMPSnoopingClearDynIpMult    OBJECT IDENTIFIER ::= { swL2IGMPDynIpMultMgmt 2 }

	swL2IGMPSnoopingClearDynIpMultVID OBJECT-TYPE
        SYNTAX  VlanId
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the VLAN identifier where the data driven 
        entries will be removed from."
        ::= { swL2IGMPSnoopingClearDynIpMult 1 }
        
	swL2IGMPSnoopingClearDynIpMultIP OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the IP address of the IGMP snooping group from which
        the data driven entries will be removed."
        ::= { swL2IGMPSnoopingClearDynIpMult 2 }
	
	
	swL2IGMPSnoopingClearDynIpMultAction OBJECT-TYPE
        SYNTAX  INTEGER{
        		all(1),
        		vlan(2),
        		group(3),
        		other(4)
        	}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Setting this object will clear the data driven entries.
            	all - Remove all learned data driven groups. 
            	VLAN - Clear all data driven entries in the VLAN specified in 
            			swIGMPSnoopingClearDynIpMultVID.
            	group - Clear the group with the address specified in swL2IGMPSnoopingClearDynIpMultIP
            		    in the VLAN specified in swIGMPSnoopingClearDynIpMultVID.
            "
        ::= { swL2IGMPSnoopingClearDynIpMult 3 }            
                    
-- ************************************************************************
--  swPortRateTable       
-- ************************************************************************
	
--    swPortRateTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF SwPortRateEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--           "This table specifies the port membership for each logical link."
--        ::= { swPortRatePackage 1 }
--
--
--    swPortRateEntry OBJECT-TYPE
--        SYNTAX SwPortRateEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "A list of information specifies which port groups form
--             a single logical link."
--        INDEX  { swPortRateIndex }
--        ::= { swPortRateTable 1 }
--
--    SwPortRateEntry ::=
--        SEQUENCE {
--            swPortRateIndex
--                Integer32,
--            swPortRateIngressRate
--                Integer32,
--            swPortRateEgressRate
--                Integer32
--        }
-- 
--    swPortRateIndex OBJECT-TYPE
--       SYNTAX Integer32
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--            "The index of the swPortRateTable"
--        ::= { swPortRateEntry 1 }
--
--    swPortRateIngressRate OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--            "RX Rate"
--        ::= { swPortRateEntry 2 }
--
--    swPortRateEgressRate OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--            "TX Rate"
--        ::= { swPortRateEntry 3 }
        
-- ************************************************************************
--  swPortBindingPackage       
-- ************************************************************************
--	swPortBindingStatus OBJECT-TYPE
--		SYNTAX INTEGER {
--				other(1),
--				disabled(2),
--				enabled(3)
--		}
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION 
--			"Enable the Port Binding"
--		::= { swPortBindingPackage 1 }
--			
--    swPortBindingCtrlTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF SwPortBindingCtrlEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            ""
--        ::= { swPortBindingPackage 2 }
--
--		
--    swPortBindingCtrlEntry OBJECT-TYPE
--        SYNTAX SwPortBindingCtrlEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "A list of information."
--        INDEX  { swPortBindingCtrlIndex }
--        ::= { swPortBindingCtrlTable 1 }
--
--    SwPortBindingCtrlEntry ::= 
--        SEQUENCE {
--            swPortBindingCtrlIndex
--                Integer32,
--            swPortBindingCtrlStatus
--                INTEGER
--      }
--
--    swPortBindingCtrlIndex OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--            ""
--        ::= { swPortBindingCtrlEntry 1 }
--
--   swPortBindingCtrlStatus OBJECT-TYPE
--		SYNTAX INTEGER {
--				other(1),
--				disabled(2),
--				enabled(3)
--		}
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION 
--			"Enable the Port Binding Control"
--        ::= { swPortBindingCtrlEntry 2 }
        
--
--  The PortBinding Information Table 
--  

--	swPortBindingInfoMaxEntries OBJECT-TYPE
--		SYNTAX Integer32
--		MAX-ACCESS read-only
--		STATUS	current
--		DESCRIPTION
--			"The max entries of this swPortBindingInfoTable"
--		::= { swPortBindingPackage 3}
--	
--    swPortBindingInfoTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF SwPortBindingInfoEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "The table contains the number current PortBinding packets which
--             are captured by this device, as well as the PortBinding packets
--             sent by the device."
--        ::= { swPortBindingPackage 4 }
--
--    swPortBindingInfoEntry OBJECT-TYPE
--        SYNTAX SwPortBindingInfoEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            ""
--        INDEX  {swPortBindingPortNum, swPortBindingInfoIndex }
--        ::= { swPortBindingInfoTable 1 }
--
--    SwPortBindingInfoEntry ::= 
--        SEQUENCE {
--            swPortBindingPortNum
--                Integer32,
--            swPortBindingInfoIndex
--                Integer32,
--            swPortBindingInfoMacAddr
--                MacAddress,            
--            swPortBindingInfoStatus
--                RowStatus
--        }
--        
--    swPortBindingPortNum OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--            ""
--        ::= { swPortBindingInfoEntry 1 }
--
--    swPortBindingInfoIndex OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--            ""
--        ::= { swPortBindingInfoEntry 2 }
--        
--    swPortBindingInfoMacAddr OBJECT-TYPE
--        SYNTAX MacAddress
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "This object is to identify the MAC address."
--        ::= { swPortBindingInfoEntry 3 }
--
--    swPortBindingInfoStatus OBJECT-TYPE
--		SYNTAX RowStatus 
--		MAX-ACCESS read-create
--		STATUS current
--		DESCRIPTION 
--		"Enables the Port Binding Info."
--        ::= { swPortBindingInfoEntry 4}
 
-- ******************************************************************************
--  swPortBaseVlanMgmt                  OBJECT IDENTIFIER ::= { swDlinkL2Mgmt 6 }       
-- ******************************************************************************
    
--    swPortBaseVlanTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF SwPortBaseVlanEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "This table specifies the port membership for each logical link."
--        ::= { swPortBaseVlanMgmt 1 }

--
--    swPortBaseVlanEntry OBJECT-TYPE
--        SYNTAX SwPortBaseVlanEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "A list of information specifies which port groups form
--             a single logical link."
--        INDEX  { swPortBaseVlanIndex }
--        ::= { swPortBaseVlanTable 1 }
--
--    SwPortBaseVlanEntry ::=
--        SEQUENCE { 
--            swPortBaseVlanIndex
--                INTEGER,
--            swPortBaseVlanName
--            	DisplayString,
--            swPortBaseVlanPortList
--                PortList,
--            swPortBaseVlanCtrlStatus
--                RowStatus
--        }
-- 
--    swPortBaseVlanIndex OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--		STATUS current
--		DESCRIPTION 
--			""
--        ::= { swPortBaseVlanEntry 1}
--
--    swPortBaseVlanName OBJECT-TYPE
--        SYNTAX DisplayString
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            ""
--        ::= { swPortBaseVlanEntry 2 }
--
--    swPortBaseVlanPortList OBJECT-TYPE
--        SYNTAX PortList
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Indicates the member ports of a Port Based VLAN."
--        ::= { swPortBaseVlanEntry 3 }
--
--    swPortBaseVlanCtrlStatus OBJECT-TYPE
--        SYNTAX RowStatus
--		MAX-ACCESS read-create
--		STATUS current
--		DESCRIPTION 
--			"Enables Port Based VLAN Info."
--      ::= { swPortBaseVlanEntry 4}
                
--    swVlanModeSwitch OBJECT-TYPE
--        SYNTAX  INTEGER {
--				qvlan(1),
--				portvlan(2)
--		}
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "The network management protocol(s) supported by this agent."
--        ::= { swPortBaseVlanMgmt 2 }

--    swPriToTrafficTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF SwPriToTrafficEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "This table specifies the map relationship from priority to traffic class."
--        ::= { swPriToTrafficMgmt 1 }

		
--    swPriToTrafficEntry OBJECT-TYPE
--        SYNTAX SwPriToTrafficEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "A list of information specifies the map relationship from priority to traffic class."
--        INDEX  { swPriority }
--        ::= { swPriToTrafficTable 1 }

--    SwPriToTrafficEntry ::= 
--        SEQUENCE {
--            swPriority
--                INTEGER,
--            swTrafficClassMapTo
--                INTEGER 
--        }

--    swPriority OBJECT-TYPE
--        SYNTAX INTEGER (0..7)
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--            "The priority from 0 to 7."
--        ::= { swPriToTrafficEntry 1 }
        
--    swTrafficClassMapTo OBJECT-TYPE
--        SYNTAX INTEGER (0..1)
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--            "The traffic class each priority should map to."
--        ::= { swPriToTrafficEntry 2 }
        
    
    --new
    -- ********************************************************************
	--  dot3adAggrPortMgmt             OBJECT IDENTIFIER ::= { lagMIBObjects 1 }
	-- ********************************************************************
 
-- dot3adAggPortTable OBJECT-TYPE
--    SYNTAX SEQUENCE OF Dot3adAggPortEntry
--    MAX-ACCESS not-accessible
--  STATUS current
--    DESCRIPTION
--        "A table that contains Link Aggregation Control
--        configuration information about every
--        Aggregation Port associated with this device.
--        A row appears in this table for each physical port."
--    REFERENCE
--        "IEEE 802.3 Section 30.7.2"
--    ::= { dot3adAggrPortMgmt 1 }
--    
-- dot3adAggPortEntry OBJECT-TYPE
--    SYNTAX Dot3adAggPortEntry
--    MAX-ACCESS not-accessible
--    STATUS current
--    DESCRIPTION
--        "A list of Link Aggregation Control configuration
--        parameters for each Aggregation Port on this device."
--    INDEX { dot3adAggPortIndex }
--    ::= { dot3adAggPortTable 1 }
    
-- Dot3adAggPortEntry ::=
--    SEQUENCE {
--        dot3adAggPortIndex
--          INTEGER,
--       dot3adAggPortMode
--          INTEGER
--          }
--          
-- dot3adAggPortIndex  OBJECT-TYPE
--    SYNTAX INTEGER(0..65535)
--    MAX-ACCESS read-only
--    STATUS current
--    DESCRIPTION
--        "The ifIndex of the port."
--    REFERENCE
--        "IEEE 802.3 Section 30.7.2.1.1"
--    ::= { dot3adAggPortEntry 1 }
 
-- dot3adAggPortMode OBJECT-TYPE
--    SYNTAX INTEGER{
--       other(1),
--       active(2),
--       passive(3)
--    }   
--    MAX-ACCESS read-write
--    STATUS current
--    DESCRIPTION
--    	" The aggregrate mode of the port." 
--    ::= { dot3adAggPortEntry 2 }
-- 
 -- ****************
 -- add by ynot 2004-1-6   
 -- ********
--    loadPortSeg OBJECT-TYPE
--        SYNTAX  INTEGER{
--        	other(1),
--        	load(2)
--        	}
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "After loading port segmentation, the switch must reboot."
--        ::= {  loadPortSegmentation 1 }
        
    -- ********************************************************************
--  swL2TrafficMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 12 }
-- ********************************************************************

--    swL2TrafficCtrlTable OBJECT-TYPE
--       SYNTAX  SEQUENCE OF SwL2TrafficCtrlEntry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "This table specifies the storm traffic control configuration."
--        ::= { swL2TrafficMgmt 1 }
--
--    swL2TrafficCtrlEntry OBJECT-TYPE
--        SYNTAX  SwL2TrafficCtrlEntry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "A list of information specifies the storm traffic control 
--            configuration."
--        INDEX  { swL2TrafficCtrlGroupIndex }
--        ::= { swL2TrafficCtrlTable 1 }
--
--    SwL2TrafficCtrlEntry ::= 
--        SEQUENCE {
--            swL2TrafficCtrlGroupIndex
--                INTEGER,
--            swL2TrafficCtrlUnitIndex
--                INTEGER,
--            swL2TrafficCtrlBMStromthreshold
--                INTEGER,
--            swL2TrafficCtrlBcastStromCtrl
--                INTEGER,
--            swL2TrafficCtrlMcastStromCtrl
--                INTEGER,
--            swL2TrafficCtrlDlfStromCtrl
--                INTEGER
--        }
--
--    swL2TrafficCtrlGroupIndex OBJECT-TYPE
--        SYNTAX  INTEGER (0..65535)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "The index of the logical port trunk. The trunk group number depends
--            on the existence of a unit and module."
--        ::= { swL2TrafficCtrlEntry 1 }
--        
--    swL2TrafficCtrlUnitIndex OBJECT-TYPE
--        SYNTAX INTEGER (0..65535)
--        MAX-ACCESS  read-only
--        STATUS current
--        DESCRIPTION
--            "Indicates the ID of the unit in the device."
--        ::= { swL2TrafficCtrlEntry 2 }
--
--    swL2TrafficCtrlBMStromthreshold OBJECT-TYPE
--        SYNTAX  INTEGER (64..1024000)
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "This object decides how many thousand packets per second
--            broadcast/multicast (depend on swL2TrafficCtrlBcastStromCtrl,
--            swL2TrafficCtrlMcastStromCtrl or swL2TrafficCtrlDlfStromCtrl
--            objects whether is enabled) will activate storm control. Whenever
--            a port reaches its configured amount of packets in the one 
--            second time interval, the device will start dropping that type 
--            of packet, until the time interval has expired. Once the time 
--            interval has expired, the device will start forwarding that type
--            of packet."
--        ::= { swL2TrafficCtrlEntry 3 }
--
--
--    swL2TrafficCtrlBcastStromCtrl OBJECT-TYPE
--        SYNTAX  INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--       MAX-ACCESS  read-write
--       STATUS  current
--       DESCRIPTION
--           "This object indicates whether the broadcast storm control function is 
--           enabled or disabled." 
--        ::= { swL2TrafficCtrlEntry 4 }
--
--    swL2TrafficCtrlMcastStromCtrl OBJECT-TYPE
--        SYNTAX  INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--       MAX-ACCESS  read-write
--       STATUS  current
--       DESCRIPTION
--           "This object indicates whether the multicast storm control function is 
--           enabled or disabled."
--        ::= { swL2TrafficCtrlEntry 5 }
--
--    swL2TrafficCtrlDlfStromCtrl OBJECT-TYPE
--        SYNTAX  INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--       MAX-ACCESS  read-write
--       STATUS  current
--       DESCRIPTION
--           "This object indicates whether the destination lookup fail function is 
--           enabled or disabled." 
--        ::= { swL2TrafficCtrlEntry 6 }


--   ********************************************************************
--    swL2TrafficSegMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 13 }
--   ********************************************************************
  
    swL2TrafficSegTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2TrafficSegEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table specifies the port just can 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 specifies the port with its traffic 
            forward 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 that the specific port can forward traffic."
        ::= { swL2TrafficSegEntry 2 }
    
-- ********************************************************************
--  swL2PortSecurityMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 15 }
-- ********************************************************************

    swL2PortSecurityControlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2PortSecurityControlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "The port security feature controls the address leaning capability and the
                traffic forwarding decision. Each port can have this function enabled or disabled.
                When it is enabled and a number is given said N, which allows N addresses to be
                learned at this port, the first N learned addresses are locked at this port as
                a static entry. When the learned address number reaches N, any incoming packet without
learned source addresses are discarded (e.g. dropped) and no more new addresses
                can be learned at 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
        }

    swL2PortSecurityPortIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..255)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates a secured port to lock address learning."
        ::= { swL2PortSecurityControlEntry 1 }

    swL2PortSecurityMaxLernAddr OBJECT-TYPE
        SYNTAX  INTEGER (0..16)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                "Indicates the allowable number of addresses to be learned at 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 - never age out the locked addresses unless restarting
                the system to 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 an administration state of locking address."
        ::= { swL2PortSecurityControlEntry 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 that violates the pre-defined
                  port security configuration, a trap will be sent out and the relevant information
                  will be logged in the system."
        ::= { swL2PortSecurityMgmt 2 }
    
-- ******************************************************
-- Port Security Del Ctrl Table
-- ******************************************************    
    swL2PortSecurityDelCtrl OBJECT IDENTIFIER ::= { swL2PortSecurityMgmt 3 }
    
    swL2PortSecurityDelVlanName OBJECT-TYPE
    	SYNTAX	DisplayString (SIZE(0..32))
    	MAX-ACCESS	read-write
    	STATUS	current
    	DESCRIPTION
    		"Indicates the VLAN name."
    	::= { swL2PortSecurityDelCtrl 1 }
    	
    swL2PortSecurityDelPort OBJECT-TYPE
    	SYNTAX	INTEGER (0..768)
    	MAX-ACCESS	read-write
    	STATUS	current
    	DESCRIPTION
    		"Indicates the port. 0 means the function dose not work now."
    	::= { swL2PortSecurityDelCtrl 2 }
    	
    swL2PortSecurityDelMacAddress OBJECT-TYPE
    	SYNTAX	MacAddress
    	MAX-ACCESS	read-write
    	STATUS	current
    	DESCRIPTION
    		"Specifies the MAC address."
    	::= { swL2PortSecurityDelCtrl 3 } 
    	
    swL2PortSecurityDelActivity OBJECT-TYPE
    	SYNTAX	INTEGER {
    		none(1),
    		start(2)
    		}
    	MAX-ACCESS	read-write
    	STATUS	current
    	DESCRIPTION
    		""
    	::= { swL2PortSecurityDelCtrl 4 }
    	
    	
 -- ********************************************************************
--  swL2StpMgmt                 OBJECT IDENTIFIER ::= { swL2MgmtMIB  16 }
-- ********************************************************************

--   swMSTPGblCtrl    OBJECT IDENTIFIER ::= { swL2StpMgmt  1 }
--	
--    swL2STPStpForwardBPDU OBJECT-TYPE
--	    SYNTAX  INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "The enabled/disabled status is used to forward BPDU to
--             non STP port."
--        ::= { swMSTPGblCtrl 1 }
--
--      swL2STPStpLBD OBJECT-TYPE
--      	SYNTAX  INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "The enabled/disabled status is used for Loop-back prevention."
--        ::= { swMSTPGblCtrl 2 }
--        
--        
--   swL2STPPortCtrl               OBJECT IDENTIFIER ::= { swL2StpMgmt  2 }
--    swL2STPPortTable OBJECT-TYPE
--	swL2STPPortTable OBJECT-TYPE
--		SYNTAX  SEQUENCE OF SwL2STPPortEntry
--		MAX-ACCESS  not-accessible
--		STATUS  current
--		DESCRIPTION
--		      "A table that contains port-specific information
--		      for the Spanning Tree Protocol."
--		::= { swL2STPPortCtrl 4 }
--
--	swL2STPPortEntry OBJECT-TYPE
--		SYNTAX  SwL2STPPortEntry
--		MAX-ACCESS  not-accessible
--		STATUS  current
--		DESCRIPTION
--		      "A list of information maintained by every port
--		      about the Spanning Tree Protocol state for that
--		      port."
--		INDEX   { swL2STPPort }
--		::= { swL2STPPortTable 1 }
--
--	SwL2STPPortEntry ::=	SEQUENCE {
--		swL2STPPort
--		  INTEGER,
--                swL2STPPortLBD
--                  INTEGER,
--                swL2STPPortState
--                  INTEGER 		
--		}
--
--	swL2STPPort OBJECT-TYPE
--		SYNTAX  INTEGER (1..65535)
--		MAX-ACCESS  read-only
--		STATUS  current
--		DESCRIPTION
--		      "The port number of the port for this entry."
--		::= { swL2STPPortEntry 1}
--		
--	swL2STPPortLBD OBJECT-TYPE
--      	SYNTAX  INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "The enabled/disabled status is used for Loop-back prevention attached
--            to this port."
--        ::= { swL2STPPortEntry 2 }
--        
--        swL2STPPortState OBJECT-TYPE
--      	SYNTAX  INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "The enabled/disabled status is used for Loop-back prevention attached
--            to this port."
--        ::= { swL2STPPortEntry 3 }

	
--    swL2StpForwardBPDU OBJECT-TYPE
--	    SYNTAX  INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "Indicates whether to flood BPDU packets when STP is disabled on the device."
--        ::= { swL2StpMgmt 1 }
--
--      swL2StpLbd OBJECT-TYPE
--      	SYNTAX  INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "Indicates whether STP loop-back prevention on the device is turned on."
--        ::= { swL2StpMgmt 2 }
--        
--      
--      swL2StpLbdRecoverTime OBJECT-TYPE
--      	SYNTAX  INTEGER (0..1000000)
--          MAX-ACCESS  read-write
--          STATUS  current
--          DESCRIPTION
--            "The period of time the STP module keeps checking the BPDU loop status,
--	  to configure swL2StpLbdRecoverTime as 0 disables automatically recover."
--        ::= { swL2StpMgmt 3 }                
--        
--        
--	swL2StpPortTable	OBJECT-TYPE
--			SYNTAX			SEQUENCE OF SwL2StpPortEntry
--			MAX-ACCESS	not-accessible
--			STATUS			current
--			DESCRIPTION
--		      "A table that contains port-specific information
--		      for the Spanning Tree Protocol."
--		::= { swL2StpMgmt 4 }
--
--	swL2StpPortEntry OBJECT-TYPE
--		SYNTAX  SwL2StpPortEntry
--		MAX-ACCESS  not-accessible
--		STATUS  current
--		DESCRIPTION
--			"A list of information maintained by every port
--			 about the Spanning Tree Protocol state for that
--			 port."
--		INDEX   { swL2StpPort }
--		::= { swL2StpPortTable 1 }
--	
--	SwL2StpPortEntry ::=	SEQUENCE {
--               	swL2StpPort
--		INTEGER,
--		swL2StpPortLbd
--		INTEGER,
--		swL2StpPortStatus
--		INTEGER,
--                swL2StpPortRole	
--                INTEGER,	 
--                swL2StpPortFBPDU                 
--                INTEGER,
--                swL2StpPortLinkState
--                INTEGER,
--                swL2StpPortProtocolMigration
--            	TruthValue,
--        	swL2StpPortAdminEdgePort
--            	TruthValue,          			
--        	swL2StpPortOperEdgePort
--            	TruthValue,
--        	swL2StpPortAdminPointToPoint
--            	INTEGER,
--        	swL2StpPortOperPointToPoint
--            	TruthValue,
--                swL2StpPortAdminPathCost
--            	Unsigned32,            	
--                swL2StpPortPriority
--                INTEGER, 	
--                swL2STPPortState
--                INTEGER
--                }
--	
--	swL2StpPort OBJECT-TYPE
--			SYNTAX  INTEGER (1..65535)
--			MAX-ACCESS  read-only
--			STATUS  current
--			DESCRIPTION
--					"The port number of the port for this entry."
--			::= { swL2StpPortEntry 1}
--			
--	swL2StpPortLbd OBJECT-TYPE
--			SYNTAX  INTEGER {
--						other(1),
--						disabled(2),
--						enabled(3)
--			}
--			MAX-ACCESS  read-write
--			STATUS  current
--			DESCRIPTION
--					"The enabled/disabled status is used for Loop-back prevention attached
--						to this port."
--			::= { swL2StpPortEntry 2 }
--	        
--	swL2StpPortStatus OBJECT-TYPE
--		SYNTAX  INTEGER {
--	               other(1),
--	               disabled(2),
--	               discarding(3),
--	               learning(4),
--	               forwarding(5),
--	               broken(6),
--	               no-stp-enabled(7),
--	               err-disabled(8)
--	               }
--	        MAX-ACCESS  read-only
--	        STATUS  current
--	        DESCRIPTION
--	            "When the port Enable state is enabled, the port's current 
--	            state as defined by application of the Spanning Tree Protocol.
--	            If the PortEnable is disabled, the port status will be 
--	            no-STP-enabled (7).
--		  If the port is in error disabled status, the port status will be err-disabled (8)"
--	        ::= { swL2StpPortEntry 3 }		
--			
--	swL2StpPortRole OBJECT-TYPE
--		SYNTAX  INTEGER {			           
--			     disabled(1),
--			     alternate(2),
--			     backup(3),
--			     root(4),
--			     designated(5),
--			     nonStp(6),
--			     loopback(7)
--			}
--	        MAX-ACCESS  read-only
--	        STATUS  current
--	        DESCRIPTION
--			    "When the port Enable state is enabled, the port's current 
--		            port role as defined by application of the Spanning Tree Protocol.
--		            If the Port Enable state is disabled, the port role will be 
--		            nonstp (7). If the port is in loop-back status, the port role will
--		            be loopback (8)"
--	        ::= { swL2StpPortEntry 4 }		 
--
--	swL2StpPortFBPDU OBJECT-TYPE
--      	SYNTAX  INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "The enabled/disabled status is used for BPDU Filtering attached 
--            to this port."
--        ::= { swL2StpPortEntry 5 }          		    		
--
--	swL2StpPortLinkState OBJECT-TYPE
--              SYNTAX  INTEGER {
--                     link-down(1),
--                     half-10Mbps-none(2),
--                     half-10Mbps-backp(3),
--                     full-10Mbps-none(4),
--                     full-10Mbps-8023x(5),
--                     half-100Mbps-none(6),
--                     half-100Mbps-backp(7),
--                     full-100Mbps-none(8),
--                     full-100Mbps-8023x(9),
--                     half-1000Mbps-none(10),
--                     full-1000Mbps-backp(11),
--                     full-1000Mbps-none(12),
--                     full-1000Mbps-8023x(13)
--                     }
--              MAX-ACCESS  read-only
--              STATUS  current
--              DESCRIPTION
--                  "This object indicates the STP port speed and duplex mode."
--              ::= { swL2StpPortEntry 6 }
--              
--	swL2StpPortProtocolMigration OBJECT-TYPE
--    SYNTAX      TruthValue
--    MAX-ACCESS  read-write
--    STATUS      current
--    DESCRIPTION
--        "When operating in RSTP (version 2) mode, writing TRUE (1)
--         for this object forces this port to transmit RSTP BPDUs.
--         Any other operation on this object has no effect and
--         it always returns FALSE (2) when read."
--    REFERENCE
--        "IEEE 802.1w clause 14.8.2.4, 17.18.10, 17.26"
--    ::= { swL2StpPortEntry 7 }
--
--	swL2StpPortAdminEdgePort OBJECT-TYPE
--    SYNTAX      TruthValue
--    MAX-ACCESS  read-write
--    STATUS      current
--    DESCRIPTION
--        "The administrative value of the Edge Port parameter.  A
--         value of TRUE (1) indicates that this port should be
--         assumed as an edge-port and a value of FALSE (2) indicates
--         that this port should be assumed as a non-edge-port."
--    REFERENCE
--        "IEEE 802.1t clause 14.8.2, 18.3.3"
--    ::= { swL2StpPortEntry 8 }    
--   
--   swL2StpPortOperEdgePort OBJECT-TYPE
--    SYNTAX      TruthValue
--    MAX-ACCESS  read-only
--    STATUS      current
--    DESCRIPTION
--        "The operational value of the Edge Port parameter.  The
--         object is initialized to the value of
--         swL2StpPortAdminEdgePort and is set FALSE on reception of
--         a BPDU."
--    REFERENCE
--        "IEEE 802.1t clause 14.8.2, 18.3.4"
--    ::= { swL2StpPortEntry 9 }
--
--	swL2StpPortAdminPointToPoint OBJECT-TYPE
--    SYNTAX      INTEGER {
--                    forceTrue(0),
--                    forceFalse(1),
--                    auto(2)
--                }
--    MAX-ACCESS  read-write
--    STATUS      current
--    DESCRIPTION
--        "The administrative point-to-point status of the LAN segment
--         attached to this port.  A value of forceTrue (0) indicates that
--         this port should always be treated as if it is connected to
--         a point-to-point link.  A value of forceFalse (1) indicates
--         that this port should be treated as having a shared media
--         connection.  A value of auto (2) indicates that this port is
--         considered to have a point-to-point link if it is an Aggregator
--         and all of its members are aggregatable, or if the MAC entity
--         is configured for full duplex operation, either through
--         auto-negotiation or by management means."
--   REFERENCE
--       "IEEE 802.1w clause 6.4.3, 6.5, 14.8.2"
--   ::= { swL2StpPortEntry 10 }
--
--	swL2StpPortOperPointToPoint OBJECT-TYPE
--    SYNTAX      TruthValue
--    MAX-ACCESS  read-only
--    STATUS      current
--    DESCRIPTION
--        "The operational point-to-point status of the LAN segment
--         attached to this port.  It indicates whether a port is
--         considered to have a point-to-point connection or not.
--         The value is determined by management or by auto-detection,
--         as described in the swL2StpPortAdminPointToPoint object."
--    REFERENCE
--        "IEEE 802.1w clause 6.4.3, 6.5, 14.8.2"
--    ::= { swL2StpPortEntry 11}
--
--	swL2StpPortAdminPathCost OBJECT-TYPE
--    SYNTAX      Unsigned32(0..200000000)
--    MAX-ACCESS  read-write
--    STATUS      current
--    DESCRIPTION
--        "The administratively assigned value for the contribution
--         of this port to the path cost of paths towards the spanning
--         tree root.
--
--         Writing a value of '0' assigns the automatically calculated
--         default Path Cost value to the port.  If the default Path
--         Cost is being used, this object returns '0' when read.
--
--         This complements the object swL2StpPortPathCost, which
--         returns the operational value of the path cost.
--	
--	Issue No.: 3250R2-077 
--    As USE_RSTP is 1:enabled, swL2StpPortPathCost is forced to be read-only.
--    configuration via swL2StpPortAdminPathCost. 
--    According 802.1w, value range of swL2StpPortAdminPathCost would be expanded.
--    the former value range is (0..65535), the new is (0..200000000). "
--              
--    REFERENCE
--        "IEEE 802.1D-1998: Section 8.5.5.3"
--    ::= { swL2StpPortEntry 12} 
--    
--         swL2StpPortPriority OBJECT-TYPE
--              SYNTAX  INTEGER (0..240)
--              MAX-ACCESS  read-write
--              STATUS  current
--              DESCRIPTION
--                      "The value of the priority field which is
--                      contained in the first (in network byte order)
--                      octet of the (2 octet long) Port ID.  The other
--                      octet of the Port ID is given by the value of
--                      swL2StpPort."
--              REFERENCE
--                      "IEEE 802.1D-1990: Section 4.5.5.1"
--              ::= { swL2StpPortEntry 13 }
--
--          swL2STPPortState OBJECT-TYPE                 
--	     	SYNTAX  INTEGER {                      
--	              other(1),                        
--	              disabled(2),                     
--	              enabled(3)                       
--	              }                                
--	       MAX-ACCESS  read-write                  
--	       STATUS  current                         
--	       DESCRIPTION                             
--	           "The enabled/disabled status is used by loop-back prevention attached
--	           to this port."                      
--	       ::= { swL2StpPortEntry 14 }             
--
-- ********************************************************************
--        swL2CosMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB 17 }
-- ********************************************************************
	swL2CosPriorityCtrl	  OBJECT IDENTIFIER ::= { swL2CosMgmt 3 }   
  
	  swL2CosPriorityTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2CosPriorityEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Used to show and configure per port priority-based QoS features on the switch."
              ::= { swL2CosPriorityCtrl 1 }

          swL2CosPriorityEntry OBJECT-TYPE
              SYNTAX  SwL2CosPriorityEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of information contained in the swL2CosPriorityTable."
              INDEX   { swL2CosPriorityPort }
              ::= { swL2CosPriorityTable 1 }

          SwL2CosPriorityEntry ::=
              SEQUENCE {
                  swL2CosPriorityPort
                      INTEGER,
                  swL2CosPriorityPortPRI
                      INTEGER,
                  swL2CosPriorityEtherPRI
                      INTEGER,
                  swL2CosPriorityIpPRI
                      INTEGER,
                  swL2CosPriorityNone
                      INTEGER	   
              }
         
          swL2CosPriorityPort OBJECT-TYPE
              SYNTAX  INTEGER (1..65535)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The port number of CoS Priority."
              ::= { swL2CosPriorityEntry 1 }              

          swL2CosPriorityPortPRI OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          disable(2),
                          enable(3)
                      }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Indicates the port_priority state for CoS."
              ::= { swL2CosPriorityEntry 2 }    

          swL2CosPriorityEtherPRI OBJECT-TYPE
              SYNTAX  INTEGER {
                          disable(1),            			
                          ether8021p(2),
                          macBase(3)
                      }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Enable Ethernet frame based priority. 
                      When set ether8021p (2), enable 802.1p QoS; When set macBase (3), enable MAC-based QoS; 
                      When set disable (1), disable Ethernet frame based priority."
              ::= { swL2CosPriorityEntry 3 } 

          swL2CosPriorityIpPRI OBJECT-TYPE
              SYNTAX  INTEGER {
                          disable(1), 
                          tos(2),
                          dscp(3)
                      }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Enable IP priority QoS.
                      When set tos (2), enable TOS based QoS; When set dscp (3), enable DSCP based QoS; 
                      When set disable (1), disable IP priority QoS."
              ::= { swL2CosPriorityEntry 4 }                

          swL2CosPriorityNone OBJECT-TYPE
              SYNTAX  INTEGER {
                          valid(1), 
                          invalid(2)
                      }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "When read, it always returns invalid (2);
                      when write valid  (1), it disables all priority in this table."
              ::= { swL2CosPriorityEntry 5 }  

	  swL2CosPortPRITable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2CosPortPRIEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Used to show port-to-class mappings and
                      map specific port to one of the hardware queues available on the switch."
              ::= { swL2CosPriorityCtrl 2 }

          swL2CosPortPRIEntry OBJECT-TYPE
              SYNTAX  SwL2CosPortPRIEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of information contained in the swL2CosPortPRITable."
              INDEX   { swL2CosPortPRIIndex }
              ::= { swL2CosPortPRITable 1 }

          SwL2CosPortPRIEntry ::=
              SEQUENCE {
                  swL2CosPortPRIIndex
                      INTEGER,
                  swL2CosPortPRIClass
                      INTEGER
              } 

          swL2CosPortPRIIndex OBJECT-TYPE
              SYNTAX  INTEGER (1..65535)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Indicates the CoS Priority PortPRI."
              ::= { swL2CosPortPRIEntry 1 }      
              
          swL2CosPortPRIClass OBJECT-TYPE
              SYNTAX  INTEGER (0..3)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The number of the switch's hardware priority queue. The switch has 4 hardware priority queues available. 
                      They are numbered between 0 (the lowest priority queue) and 3 (the highest priority queue).
                      If you want to set one, you must have administrator privileges.
                      And you can set a value of 0 or 3 only, you can't set a value 1 or 2."
              ::= { swL2CosPortPRIEntry 2 }  
              
	  swL2CosMacBasePRITable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2CosMacBasePRIEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Used to show MAC priority map to traffic class and 
                      map the destination MAC address in incoming packet to one of the hardware queues available on the switch."
              ::= { swL2CosPriorityCtrl 3 }

          swL2CosMacBasePRIEntry OBJECT-TYPE
              SYNTAX  SwL2CosMacBasePRIEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of information contained in the swL2CosMacBasePRITable."
              INDEX   { swL2CosMacBasePRIIndex }
              ::= { swL2CosMacBasePRITable 1 }

          SwL2CosMacBasePRIEntry ::=
              SEQUENCE {
                  swL2CosMacBasePRIIndex
                      MacAddress,
                  swL2CosMacBasePRIClass
                      INTEGER
              } 


	  swL2CosMacBasePRIIndex OBJECT-TYPE
      		SYNTAX  MacAddress
      		MAX-ACCESS  read-only
     		STATUS  current
      		DESCRIPTION
          		"Indicates the CoS Priority MacBasePRI."
      		::= { swL2CosMacBasePRIEntry 1 }     

              
          swL2CosMacBasePRIClass OBJECT-TYPE
              SYNTAX  INTEGER (0..3)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The number of the switch's hardware priority queue. The switch has 4 hardware priority queues available. 
                      They are numbered between 0 (the lowest priority queue) and 3 (the highest priority queue).
                      If you want to set one, you must have administrator privileges."
              ::= { swL2CosMacBasePRIEntry 2 }  
              
	  swL2CosTosPRITable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2CosTosPRIEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Used to show TOS value to traffic class mapping and
                       map the TOS value in the IP header of incoming packet to one of the four hardware queues available on the switch."
              ::= { swL2CosPriorityCtrl 4 }

          swL2CosTosPRIEntry OBJECT-TYPE
              SYNTAX  SwL2CosTosPRIEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of information contained in the swL2CosTosPRITable."
              INDEX   { swL2CosTosPRIIndex }
              ::= { swL2CosTosPRITable 1 }

          SwL2CosTosPRIEntry ::=
              SEQUENCE {
                  swL2CosTosPRIIndex
                      INTEGER,
                  swL2CosTosPRIClass
                      INTEGER
              } 

          swL2CosTosPRIIndex OBJECT-TYPE
              SYNTAX  INTEGER (0..7)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Indicates the CoS Priority TosPRI."
              ::= { swL2CosTosPRIEntry 1 }      
              
          swL2CosTosPRIClass OBJECT-TYPE
              SYNTAX  INTEGER (0..3)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The number of the switch's hardware priority queue. The switch has 4 hardware priority queues available. 
                      They are numbered between 0 (the lowest priority queue) and 3 (the highest priority queue).
                      If you want to set one, you must have administrator privileges."
              ::= { swL2CosTosPRIEntry 2 } 

	  swL2CosDscpPRITable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2CosDscpPRIEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Used to show DSCP value to traffic class mapping and
                      map the DSCP value in the IP header of incoming packet to one of the hardware queues available on the switch."
              ::= { swL2CosPriorityCtrl 5 }

          swL2CosDscpPRIEntry OBJECT-TYPE
              SYNTAX  SwL2CosDscpPRIEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of information contained in the swL2CosDscpPRITable."
              INDEX   { swL2CosDscpPRIIndex }
              ::= { swL2CosDscpPRITable 1 }

          SwL2CosDscpPRIEntry ::=
              SEQUENCE {
                  swL2CosDscpPRIIndex
                      INTEGER,
                  swL2CosDscpPRIClass
                      INTEGER
              } 

          swL2CosDscpPRIIndex OBJECT-TYPE
              SYNTAX  INTEGER (0..63)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Indicates the CoS Priority DscpPRI."
              ::= { swL2CosDscpPRIEntry 1 }      
              
          swL2CosDscpPRIClass OBJECT-TYPE
              SYNTAX  INTEGER (0..3)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The number of the switch's hardware priority queue. The switch has 4 hardware priority queues available. 
                      They are numbered between 0 (the lowest priority queue) and 3 (the highest priority queue).
                      If you want to set one, you must have administrator privileges."
              ::= { swL2CosDscpPRIEntry 2 }  
              
    -- ********************************************************************
--  swL2DhcpRelayMgmt        OBJECT IDENTIFIER ::= { swL2MgmtMIB 11 }
-- ********************************************************************
    swL2DhcpRelayState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "This object indicates whether the DHCP relay function is enabled or 
            disabled."
        ::= { swL2DhcpRelayMgmt 1 }
        
    swL2DhcpRelayHopCount OBJECT-TYPE
        SYNTAX  INTEGER (1..16)
        MAX-ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "This object indicates the maximum number of router hops that 
            the DHCP packets can cross."
        ::= { swL2DhcpRelayMgmt 2 }
        
    swL2DhcpRelayTimeThreshold OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS  obsolete
        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  obsolete
        DESCRIPTION
            "This object indicates 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  obsolete
        DESCRIPTION
            "This object indicates 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  obsolete
        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 in messages."             
        ::= { swL2DhcpRelayMgmt 6 }

    swL2DhcpRelayCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2DhcpRelayCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  obsolete
        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  obsolete
        DESCRIPTION
            "A list of information 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  obsolete
        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  obsolete
        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 }
        
-- ********************************************************************
--        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 returns null."
--    	::= { swL2LimitedMulticastMgmt 2 }
                      
-- ********************************************************************
--  Layer 2  Trap
-- ********************************************************************
    swL2MgmtMIBTrapPrefix   OBJECT IDENTIFIER ::= { swL2MgmtMIBTraps 0 }  
          
    swL2PortSecurityViolationTrap NOTIFICATION-TYPE
        OBJECTS         { swL2PortSecurityPortIndex,
        		  						swL2PortSecurityViolationMac        					
                        }        
        STATUS  current
        DESCRIPTION
            "When the port_security trap is enabled, if there's a new MAC that violates the pre-defined 
            port security configuration, a trap will be sent out."             
        ::= { swL2MgmtMIBTrapPrefix 1 }
        
    swL2macNotification NOTIFICATION-TYPE
        OBJECTS {
              swL2macNotifyInfo
        		}
        STATUS  current        		
        DESCRIPTION
            " This trap indicates the MAC address variations in the address table. "

		::= { swL2MgmtMIBTrapPrefix 2 }  
		  
    swL2FloodMacDetectedTrap  NOTIFICATION-TYPE
        OBJECTS {
              swL2FloodMacDetectedMacVid,
              swL2FloodMacDetectedMacAddress
        		}
        STATUS  current        		
        DESCRIPTION
            " If theres a new flooding MAC is detected, a trap will be sent out."
		::= { swL2MgmtMIBTrapPrefix 3 }  		
		  
    swL2PortLoopOccurred  NOTIFICATION-TYPE
        OBJECTS
             {
                swL2LoopDetectPortIndex
             }
        STATUS current
        DESCRIPTION
               "The trap is sent when a Port loop occurs."
        ::={swL2MgmtMIBTrapPrefix 4}

    swL2PortLoopRestart  NOTIFICATION-TYPE
        OBJECTS
             {
                swL2LoopDetectPortIndex
             }
        STATUS current
        DESCRIPTION
              "The trap is sent when a Port loop restarts after the interval time."
        ::={swL2MgmtMIBTrapPrefix 5}
		  
    swl2PortSecurityBindings OBJECT IDENTIFIER ::= { swL2MgmtMIBTraps 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."
        ::= { swl2PortSecurityBindings 1 } 
 
   swl2NotificationBindings OBJECT IDENTIFIER ::= { swL2MgmtMIBTraps 2 }
 	            
   swL2macNotifyInfo   OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE (0..1024))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the last time reboot information.
            "
        ::= { swl2NotificationBindings 1 }  
        
   swL2FloodMacDetectedMacVid   OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VID of the flooding MAC."
        ::= { swl2NotificationBindings 2 }  
        
   swL2FloodMacDetectedMacAddress   OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the MAC address of the flooding MAC"
        ::= { swl2NotificationBindings 3 }                      
        
-- ********************************************************************
--  swL2LoopDetectMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 21 }
-- ********************************************************************

    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)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the port status."
        ::= { swL2LoopDetectPortEntry 4 }

-- ********************************************************************
--  swL2MultiFilter            OBJECT IDENTIFIER ::= { swL2MgmtMIB 2 }
-- ********************************************************************
   swL2McastFilterTable OBJECT-TYPE
     SYNTAX SEQUENCE OF SwL2McastFilterEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION 
 	" A table that contains information about the multicast filter address."
     ::={swL2MultiFilter 2}
     
     swL2McastFilterEntry OBJECT-TYPE
     SYNTAX SwL2McastFilterEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
     	"A list of multicast filter mode information for each profile ID. "
	INDEX {swL2McastFilterProfileIndex}
     ::={swL2McastFilterTable 1}
     
     SwL2McastFilterEntry ::=
     SEQUENCE{
	swL2McastFilterProfileIndex
     		INTEGER,
     	swL2McastFilterProfileName
     		DisplayString,
     	swL2McastFilterAddOrDelState
     		INTEGER,
     	swL2McastFilterGroupList
     		DisplayString,
     	swL2McastFilterStatus
     	        RowStatus	
     }
 
    swL2McastFilterProfileIndex OBJECT-TYPE
    	SYNTAX INTEGER(1..24)
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		" index for each profile"
	::={swL2McastFilterEntry 1}
	
    swL2McastFilterProfileName OBJECT-TYPE
    	SYNTAX DisplayString(SIZE(1..32))
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
		"The multicast filter description."
    	::={swL2McastFilterEntry 2}

    swL2McastFilterAddOrDelState OBJECT-TYPE
    	SYNTAX INTEGER{
    		none(1),
    		add(2),
    		delete(3)
    	        }
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
		"The control multicast filter address."
	::={swL2McastFilterEntry 3}	
	
    swL2McastFilterGroupList OBJECT-TYPE
    	SYNTAX DisplayString
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
		"The multicast filter address group list."
    	::={swL2McastFilterEntry 4}	
    	
   swL2McastFilterStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
             "This object indicates the status of this entry."
        ::= { swL2McastFilterEntry 5 }
        
      
        
--********************************************************************************* 
   swL2McastFilterPortTable  OBJECT-TYPE
     SYNTAX SEQUENCE OF SwL2McastFilterPortEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION 
 	" A table that is used to bind port to profile ID."
     ::={swL2MultiFilter 3}
     
   swL2McastFilterPortEntry OBJECT-TYPE
     SYNTAX SwL2McastFilterPortEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
     	"A list of information that is used to bind port to profile ID. "
	INDEX {swL2McastFilterPortGroupPortIndex}
     ::={swL2McastFilterPortTable 1}
     
     SwL2McastFilterPortEntry ::=
     SEQUENCE{
	swL2McastFilterPortGroupPortIndex
     		INTEGER,
     	swL2McastFilterPortProfileAddOrDelState
     		 INTEGER,
        swL2McastFilterPortProfileID 
                 INTEGER
     }
 
    swL2McastFilterPortGroupPortIndex OBJECT-TYPE
    	SYNTAX INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"The port index."
	::={swL2McastFilterPortEntry 1} 
	
    swL2McastFilterPortProfileAddOrDelState OBJECT-TYPE
    	SYNTAX INTEGER{
    		none(1),
    		add(2),
    		delete(3)
    	        }
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
		"The control multicast filter profile."
	::={swL2McastFilterPortEntry 2}	 
	
    swL2McastFilterPortProfileID OBJECT-TYPE
    	SYNTAX INTEGER(0..24)
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
		"This object indicates the profile ID of this entry. 
		  When read, it is always 0. 
		  When set, 0 can not be set."
	::={swL2McastFilterPortEntry 3}	                 
        
--*********************************************************************************    	
   swL2McastFilterPortMaxGroupTable OBJECT-TYPE
     SYNTAX SEQUENCE OF SwL2McastFilterPortMaxGroupEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION 
 	" A table that contains information about the max group number based on port."
     ::={swL2MultiFilter 4}
     
     swL2McastFilterPortMaxGroupEntry OBJECT-TYPE
     SYNTAX SwL2McastFilterPortMaxGroupEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
     	"A list of max group number information for each port."
	INDEX {swL2McastFilterPortMaxGroupPortIndex}
     ::={swL2McastFilterPortMaxGroupTable 1}
     
     SwL2McastFilterPortMaxGroupEntry ::=
     SEQUENCE{
	swL2McastFilterPortMaxGroupPortIndex
     		INTEGER,
     	swL2McastFilterPortMaxGroup
     	        INTEGER	
     }
 
    swL2McastFilterPortMaxGroupPortIndex OBJECT-TYPE
    	SYNTAX INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"The port index."
	::={swL2McastFilterPortMaxGroupEntry 1}
    	
   swL2McastFilterPortMaxGroup OBJECT-TYPE
        SYNTAX  INTEGER(1..256)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The max group numbers. The default is 256."
        ::= { swL2McastFilterPortMaxGroupEntry 2 }      

   swL2McastFilterPortInfoTable  OBJECT-TYPE
     SYNTAX SEQUENCE OF SwL2McastFilterPortInfoEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION 
 	" A table that contains information about all of the multicast groups for the ports."
     ::={swL2MultiFilter 5}
     
   swL2McastFilterPortInfoEntry OBJECT-TYPE
     SYNTAX SwL2McastFilterPortInfoEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
     	"A list of information about all of the multicast groups for each port."
	INDEX {swL2McastFilterPortInfoPortIndex}
     ::={swL2McastFilterPortInfoTable 1}
     
     SwL2McastFilterPortInfoEntry ::=
     SEQUENCE{
	swL2McastFilterPortInfoPortIndex
     		INTEGER,		
     	swL2McastFilterPortInfoProfileName
     	        DisplayString	
     }

    swL2McastFilterPortInfoPortIndex OBJECT-TYPE
    	SYNTAX INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"The port index."
	::={swL2McastFilterPortInfoEntry 1} 
 
     swL2McastFilterPortInfoProfileName OBJECT-TYPE
    	SYNTAX DisplayString
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"The multicast filter address profile Name."
    	::={swL2McastFilterPortInfoEntry 2}

-- ********************************************************************
--  swL2VlanMgmt            OBJECT IDENTIFIER ::= { swL2MgmtMIB 3 }
-- ********************************************************************

    swL2VlanAdvertisementTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2VlanAdvertisementEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table containing the advertisement state for each
             VLAN configured into the device by (local or
             network) management."
        ::= { swL2VlanMgmt 1 }

    swL2VlanAdvertisementEntry OBJECT-TYPE
        SYNTAX  SwL2VlanAdvertisementEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The advertisement state for each VLAN configured
             into the device."
        INDEX  { swL2VlanIndex }
        ::= { swL2VlanAdvertisementTable 1 }

    SwL2VlanAdvertisementEntry ::=
        SEQUENCE {
            swL2VlanIndex
                INTEGER,
            swL2VlanName
                DisplayString,
            swL2VlanAdvertiseState
                INTEGER
        }

    swL2VlanIndex OBJECT-TYPE
        SYNTAX      INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The VLAN-ID or other identifier referring to this VLAN."
        ::= { swL2VlanAdvertisementEntry 1 }

    swL2VlanName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "An administratively assigned string, which may be used
             to identify the VLAN."
        ::= { swL2VlanAdvertisementEntry 2 }

    swL2VlanAdvertiseState OBJECT-TYPE
        SYNTAX      INTEGER {
                      other(1),
                      disabled(2),
                      enabled(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the advertise status of this VLAN entry."
        ::= { swL2VlanAdvertisementEntry 3 }

    swL2VlanMultiplyMgmt             OBJECT IDENTIFIER ::= { swL2VlanMgmt 2 }
    
    swL2VlanMultiplyVlanList OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object specifies the VLAN ID List."
        ::= { swL2VlanMultiplyMgmt 1 }    

    swL2VlanMultiplyAdvertisement OBJECT-TYPE
        SYNTAX  INTEGER {
        	other(1),
                enabled(2),
                disabled(3)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object specifies the advertisement state."
        ::= { swL2VlanMultiplyMgmt 2 }

    swL2VlanMultiplyPortList OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Specifies the port list."
        ::= { swL2VlanMultiplyMgmt 3 }
    
    swL2VlanMultiplyPortListAction OBJECT-TYPE
         SYNTAX  INTEGER {
        	other(1),
                add-tagged(2),
                add-untagged(3),
                add-forbidden(4),
                delete(5)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Specifies the action for the port list which specified 
             by swL2VlanMultiplyPortList."
        ::= { swL2VlanMultiplyMgmt 4 }
    
    swL2VlanMultiplyAction OBJECT-TYPE
         SYNTAX  INTEGER {
        	other(1),
                create(2),
                configure(3), 
                delete(4)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Specifies the action for VLANs.
             other:     no action.
             create:    the VLANs specified by swL2VlanMultiplyVlanList 
                        would be created at a time.
             configure: the VLANs specified by swL2VlanMultiplyVlanList 
                        would be configured at a time.
             delete:    the VLANs specified by swL2VlanMultiplyVlanList 
                        would be deleted at a time.
           "
        ::= { swL2VlanMultiplyMgmt 5 }

-- ********************************************************************
--  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 }

        
-- ********************************************************************
-- swL2FloodMAC        OBJECT IDENTIFIER ::= { swL2MgmtMIB 25 }
-- ********************************************************************
                
swL2FloodMACMgmt  OBJECT IDENTIFIER ::= { swL2FloodMAC 1 }   
swL2FloodMACGlobalSettings OBJECT IDENTIFIER ::= { swL2FloodMACMgmt 1 }   

swL2FloodMACState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the status of Flooding MAC function."
        ::= { swL2FloodMACGlobalSettings 1 }
        

swL2FloodMACLogState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates whether logs are generated when a flooding MAC is detected."
        ::= { swL2FloodMACGlobalSettings 2 }
        
swL2FloodMACTrapState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates whether traps are generated when a flooding MAC is detected."
        ::= { swL2FloodMACGlobalSettings 3 }
        
        
swL2FloodMACClearFDB OBJECT-TYPE
        SYNTAX  INTEGER {
               no-action(1),
               start(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When set to start(2), this object will clear the entries of swL2FloodMACFDBTable.
            After the device finishes clearing the entries, it will return to its default value, no-action(1).
            Setting this object to no-action(1) will not have any effect."
        ::= { swL2FloodMACGlobalSettings 4 }        
        
        
swL2FloodMACAutoFDBCtrlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SwL2FloodMACAutoFDBCtrlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing a list of configured IP addresses to which the Auto FDB function 
        will discover the corresponding VLAN, MAC address and port and have a corresponding
        static FDB entry created automatically."
    ::= { swL2FloodMACMgmt 2 }
        

swL2FloodMACAutoFDBCtrlEntry OBJECT-TYPE
    SYNTAX      SwL2FloodMACAutoFDBCtrlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information containing the configured Auto FDB IP address."
    INDEX   {
        swL2FloodMACAutoFDBIPAddress
    }
    ::= { swL2FloodMACAutoFDBCtrlTable 1 }

  
SwL2FloodMACAutoFDBCtrlEntry ::=
    SEQUENCE {
        swL2FloodMACAutoFDBIPAddress
        	IpAddress,
		swL2FloodMACAutoFDBRowStatus
			RowStatus
    }
    
swL2FloodMACAutoFDBIPAddress OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
	  "The Auto FDB IP address."
	::= { swL2FloodMACAutoFDBCtrlEntry 1 }
    
swL2FloodMACAutoFDBRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "This object indicates the status of this entry."
    ::= { swL2FloodMACAutoFDBCtrlEntry 2 }    

swL2FloodMACInfo  OBJECT IDENTIFIER ::= { swL2FloodMAC 2 }   

swL2FloodMACFDBTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SwL2FloodMACFDBEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing a list of current and historical flooding MAC entries."
    ::= { swL2FloodMACInfo 1 }


swL2FloodMACFDBEntry OBJECT-TYPE
    SYNTAX      SwL2FloodMACFDBEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information containing the flooding MAC address."
    INDEX   {
        swL2FloodMACFDBIndex,
        swL2FloodMACFDBVID,
        swL2FloodMACFDBMacAddress
    }
    ::= { swL2FloodMACFDBTable 1 }


SwL2FloodMACFDBEntry ::=
    SEQUENCE {
    	swL2FloodMACFDBIndex
    		INTEGER,
    	swL2FloodMACFDBVID
    		INTEGER,
        swL2FloodMACFDBMacAddress
            MacAddress,
        swL2FloodMACFDBStatus
            INTEGER,
        swL2FloodMACFDBTimestamp
            INTEGER
    }

swL2FloodMACFDBIndex OBJECT-TYPE
        SYNTAX  INTEGER 
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The hardware address table index of the flooding MAC entry."
        ::= { swL2FloodMACFDBEntry 1 }    
    
        
swL2FloodMACFDBVID OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The VLAN identifier of the flooding MAC entry."
        ::= { swL2FloodMACFDBEntry 2 }  
        
                
swL2FloodMACFDBMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The MAC address of the flooding MAC entry."
    ::= { swL2FloodMACFDBEntry 3 }


swL2FloodMACFDBStatus OBJECT-TYPE
        SYNTAX  INTEGER {
               active(1),
               inactive(2)
               }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The status of the flooding MAC entry. When the value is 'active', this means
            the entry is currently present in the hardware address table,
            otherwise, the value is 'inactive'."
        ::= { swL2FloodMACFDBEntry 4 }   
        
swL2FloodMACFDBTimestamp OBJECT-TYPE
        SYNTAX  INTEGER 
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "A number that correlates to a relative time the entry was detected by the Flooding MAC function."
        ::= { swL2FloodMACFDBEntry 5 }           
                             
swL2FloodMACAutoFDBTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SwL2FloodMACAutoFDBEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the discovered VLAN, MAC address and port of the host 
        with an IP address created in swL2FloodMACAutoFDBCtrlTable."
    ::= { swL2FloodMACInfo 2 }
        

swL2FloodMACAutoFDBEntry OBJECT-TYPE
    SYNTAX      SwL2FloodMACAutoFDBEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information containing the discovered VLAN, MAC address and port of an Auto FDB entry."
    INDEX   {
        swL2FloodMACAutoFDBIPAddress
    }
    ::= { swL2FloodMACAutoFDBTable 1 }

  
SwL2FloodMACAutoFDBEntry ::=
    SEQUENCE {
        swL2FloodMACAutoFDBVID
        	INTEGER,
        swL2FloodMACAutoFDBMacAddress
        	MacAddress,
        swL2FloodMACAutoFDBPort
        	INTEGER,
        swL2FloodMACAutoFDBTimestamp
        	INTEGER
    }
            
    
        
swL2FloodMACAutoFDBVID OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The VLAN identifier of Auto FDB entry."
        ::= { swL2FloodMACAutoFDBEntry 1 }  
        
                
swL2FloodMACAutoFDBMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The MAC address of the Auto FDB entry."
    ::= { swL2FloodMACAutoFDBEntry 2 }    
    
swL2FloodMACAutoFDBPort OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The port number of the Auto FDB entry."
    ::= { swL2FloodMACAutoFDBEntry 3 }        
       
swL2FloodMACAutoFDBTimestamp OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A number that represents the relative time when the Auto FDB learned this entry."
    ::= { swL2FloodMACAutoFDBEntry 4 }   
    
    

            
               
END

