-- -----------------------------------------------------------------------------
-- xxxx-L2MGMT-MIB
-- -----------------------------------------------------------------------------
-- Version 2.28
-- 2010/6/3
-- Request By Wenxia Yang for project DGS3600
-- [Modification]
-- Add swL2PortJumboFrameCtrlTable to configure the jumbo frame state on ports.
-- -----------------------------------------------------------------------------   
-- Version 2.27
-- 2009/11/9
-- Request By Jok for project DGS3600 R2.52.
-- [Modification]
-- add swL2MirrorGroupTable to support multiple mirror session.
-- -----------------------------------------------------------------------------   
-- Version 2.26
-- 2009/9/1   
-- Requset By Oran Tang for project DES3810
-- [Modification]
-- Replace binding object "swL2PortSecurityPortIndex" with "swPortSecPortIndex".
-- -----------------------------------------------------------------------------  
-- Version 2.25
-- 2009/3/23   
-- Requset By Elise Ren for project DES3710
-- [Modification]
-- add value lists "l4-source-port(8)", "l4-destination-port(9)", 
--                 and "l4-source-dest-port(10)" in swL2TrunkAlgorithm.
-- For support trunk loading sharing algorithm hash key base on TCP/UDP port. 
-- -----------------------------------------------------------------------------   
-- Version 2.24
-- 2008/12/1   
-- Requset By Rick Ou for project DGS3700
-- [New Object]
-- add swL2NniGvrpBpduAddress                                                                             
-- -----------------------------------------------------------------------------
--Version 2.23
--2008/9/25
--Request By Tina for project DGS3400,Synchronize from Qos.mib.
--add swL2QOSBandwidthRadiusRxRate, swL2QOSBandwidthRadiusTxRate 
--    and swL2QOS8021pRadiusPriority.
-- ----------------------------------------------------------------------------
--Version 2.22
--2008/9/16
--Request By Wesley Wang for project DGS3400
--[New Object]
--add swL2LoopDetectTrapMode
-- -----------------------------------------------------------------------------
--Version 2.21
--2008/8/31
--Request By Vic Li for project DGS3700
--[New Object]
--
--add swL2IGMPVlanDroppedByMaxGroupLimitation, swL2IGMPVlanDroppedByGroupFilter
--    in swL2IGMPVlanCounterInfoTable ;
--add swL2IGMPPortDroppedByMaxGroupLimitation and swL2IGMPPortDroppedByGroupFilter
--    in swL2IGMPPortCounterInfoTable ;
-- -----------------------------------------------------------------------------
--Version 2.20
--2008/8/13
--Request By Vic Li for project DGS3700
--[New Object]
--
--add swL2IGMPRateLimit, swL2IGMPReportSuppression in swL2IGMPCtrlTable ;
--add swL2IGMPQueryIPAddress and swL2IGMPQueryExpiryTime in swL2IGMPQueryInfoTable ;
--add swIGMPSnoopingGroupStaticMemberPorts in swIGMPSnoopingGroupTable;
--add swL2IGMPCountrInfoMgmt;
--add swL2IGMPDynIPMultCtrlTable in  swL2IGMPDynIpMultMgmt;
--add swL2IGMPRouterIPAddressTable and swL2IGMPSnoopingStaticGroupTable;
--obsolete    swL2IGMPInfoQueryCount and swL2IGMPInfoTxQueryCount in swL2IGMPQueryInfoTable ;
--obsolete    swL2IGMPHostTimeout, swL2IGMPRouteTimeout and swL2IGMPLeaveTimer
--            in swL2IGMPCtrlTable;
-- -----------------------------------------------------------------------------
-- Version 2.19,2008/08/13,Green Zhu,Synchronize from L2mgmtDes30xxp
-- add swL2IGMPAccessAuthTable
-- add swL2TrunkVLANTable
-- add swL2DevCtrlVLANTrunkState
-- -----------------------------------------------------------------------------
-- Version 2.18
-- 2008/7/29
-- Request By Grape Pu for project DGS3600
-- 1.add swL2PortAutoNegInfoTable 
-- 2.add swL2PortCtrlAutoNegRestart and swL2PortCtrlAutoNegCapAdvertisedBits  in swL2PortCtrlTable 
-- 3.add swL2PortDropCounterTable
-- -----------------------------------------------------------------------------
-- Version 2.17, 2008/07/07, Marco Visaya
-- added swL2IGMPDynIPMultVlanState
-- added swL2IGMPDynIPMultVlanAge
-- added swIGMPSnoopingGroupReportCount
-- added swIGMPSnoopingGroupUpTime
-- added swIGMPSnoopingGroupExpiryTime
-- added swIGMPSnoopingGroupRouterPorts
-- added swL2IGMPDynIpMultMgmt
-- -----------------------------------------------------------------------------
-- Version 2.16
-- 2008/6/2
-- Request By Kelvin Tao for project DGS3700
-- [New Object]
-- 1.add swL2DevCtrlCFM.
-- 2.add swL2DevCtrlIpAutoconfig.
-- -----------------------------------------------------------------------------
--Version 2.15
--2008/4/17
--Request By Jeffers yang for project DHS3628GF
--[New Object]
--add  swL2IGMPMulticastVlanUntagSourcePort and swL2IGMPMulticastVlanRemapPriority
--and swL2IGMPMulticastVlanReplacePriority in swL2IGMPMulticastVlanTable
-- -----------------------------------------------------------------------------
-- Version 2.14
-- 2008/4/1
-- Request By Kelvin Tao for project DGS3700
-- [New Object]
-- add swL2SubnetVLANTable and swL2VlanPrecedenceTable
-- -----------------------------------------------------------------------------
-- Version 2.13
-- 2008/3/27
-- Request By Vic Li for project DES30xxR4.2
-- [New Object]
-- add object swL2PortCtrlMDIXState in swL2PortCtrlTable
-- -----------------------------------------------------------------------------
-- Version 2.12
-- 2008/3/7
-- Request By Kelvin Tao for project DGS3700
-- [New Object]
-- add swL2LimitedMulticastFilterVIDTable and swL2MulticastFilterVIDMaxGroupTable
-- -----------------------------------------------------------------------------
-- Version 2.11
-- 2008/2/19
-- Request By Green Zhu for project DGS3200-16
-- Add swIGMPSnoopingGroupTable and obsolete swL2IGMPInfoTable
-- -----------------------------------------------------------------------------
-- Version 2.10
-- 2007/12/29
-- Request By Jeffers for project DGS34xxR2.3
-- for implement trap/log in loopback detection.
-- add object swL2PortLoopOccurred,swL2PortLoopRestart,swL2VlanLoopOccurred
-- swL2VlanLoopRestart and swL2VlanLoopDetectVID
-- -----------------------------------------------------------------------------
-- Version 2.09
-- 2007/12/18
-- Request By Jeffers for project DGS3600R2.4
-- add object swL2DevCtrlLLDPForwardMessageState
-- -----------------------------------------------------------------------------
-- Version 2.08
-- 2007/11/14
-- Request By Kelvin Tao for project DGS32xxR1.1
-- add swL2IGMPGroupMode in swL2IGMPInfoTable;
-- Remove swL2IGMPTotalSource from swL2IGMPInfoTable;
-- -----------------------------------------------------------------------------
-- Version 2.07
-- 2007/11/6
-- Request By Kelvin Tao for project DGS32xxR1.1
-- [New Object]
-- (a)add swL2IGMPQueryVersion in swL2IGMPCtrlTable;
-- (b)add swL2IGMPVersion and swL2IGMPTotalSource in swL2IGMPInfoTable;
-- (c)add swL2IGMPv3Table.
-- -----------------------------------------------------------------------------
-- Version 2.06
-- 2007/11/1
-- Request By Green Zhu for project DGS32xxR1.1
-- [New Object]
-- add swL2VlanPortInfoTable 
-- -----------------------------------------------------------------------------
-- Version 2.05
-- 2007/09/18
-- Request By Yan Zhang for project DES3400, DHS3628 and DES3200.
-- [New Object]
-- (a)add object swL2IGMPSnoopingMulticastVlanState;
-- (b)add swL2IGMPMulticastVlanTable and swL2IGMPMulticastVlanGroupTable;
-- (c)add swL2MulticastFilterMode, swL2MulticastFilterModeVlanTable and 
--    swL2MulticastFilterModePortTable;
-- (d)add swL2MulticastFilterProfileTable, swL2MulticastFilterProfileAddressTable,
--    swL2LimitedMulticastFilterPortTable and swL2MulticastFilterPortMaxGroupTable;
-- (e)add objects swL2DevCtrlLLDPState and swL2PVIDAutoAssignmentState.
-- -----------------------------------------------------------------------------
-- Version 2.04
-- 2007/05/22
-- Request By Jenny Zeng for project DES3400
-- (a)add swL2DevCtrlWeb, swL2DevCtrlWebState, swL2DevCtrlWebTcpPort;
-- (b)add swL2TrunkLACPPortTable;
-- (c)add swL2DevCtrlSnmpTrapState;
-- (d)add swL2PortCounterCtrlTable;
-- (e)add swL2PortErrTable;
-- (f)add swL2PortSecurityEntryClearCtrl in table swL2PortSecurityControlTable;
-- (g)add swL2DevCtrlIGMPSnoopingMcstRTOnly.                                                                             V
-- -----------------------------------------------------------------------------
-- Version 2.03
-- 2006/10/26
-- add swL2VLANMgmt for new feature request(Leander Chang):
-- advertisement control of VALN
-- -----------------------------------------------------------------------------
-- Version 2.02
-- 2006/10/16 (reported from Yan Zhang/CD/CN/Alphanetworks)
-- add object swL2StpForwardBPDU, swL2StpLbd, swL2StpLbdRecoverTime. 
-- add table swL2StpPortTable, swL2CosPriorityTable, swL2CosPortPRITable, swL2CosMacBasePRITable
-- for implement trap/log in mac notify and stp loop.
-- -----------------------------------------------------------------------------
-- Version 2.01
-- 2006/7/7 
-- added object swL2LimitedMulticastResetPort
-- -----------------------------------------------------------------------------
-- Version 2.00
-- 2006/6/30 
-- rearrange the MIB that base on PX and DES3526.
-- -----------------------------------------------------------------------------
-- Version 1.3
-- 2005/12/27 
--  added object swL2PortCtrlJumboFrameMaxSize
-- -----------------------------------------------------------------------------
-- Version 1.2
-- 2005/11/11 11:36
-- for implement trap/log in port security violation. 
-- add object swL2PortSecurityTrapLogState,  swL2PortSecurityViolationMac ,swL2PortSecurityViolationTrap
-- -----------------------------------------------------------------------------
-- Version 1.1
-- 2005/9/12 10:04
-- add swL2PortInfoMediumType in swL2PortInfoTable and 
-- add swL2PortCtrlMediumType in swL2PortCtrlTable
-- add swL2PortCtrlJumboFrame
-- -----------------------------------------------------------------------------
-- Version 1.02
-- 2005/4/8 04:31PM
-- By Scott Slong
-- Add swL2DevCtrlManagementVlanId
-- -----------------------------------------------------------------------------
-- Version 1.01
-- 2004/9/21 04:31PM
-- By Karen Huang
-- Add swL2PortCableDiagnosisTable
-- ----------------------------------------------------------------------------- 	
-- Version 1.00
-- Remove swDevInfoSystemUptime, swDevInfoConsoleInuse,swL2DevCtrlUpDownloadState,swDevInfoSaveCfg
-- Remove swL2DevCtrlUpDownloadImageFileName ,swL2DevCtrlUpDownloadImageSourceAddr
-- Remove swL2DevCtrlUpDownloadImage , swL2DevCtrlSaveCfg

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

DGS3000-26TC-L2MGMT-MIB	DEFINITIONS ::= BEGIN

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

		VlanId					::= INTEGER (1..4094)
    	PortList                ::= OCTET STRING(SIZE (0..127))    
 
		
    swL2DevMgmt                 OBJECT IDENTIFIER ::= { swL2MgmtMIB 1 }
    swL2VLANMgmt                OBJECT IDENTIFIER ::= { swL2MgmtMIB 2 }    
    swL2PortMgmt                OBJECT IDENTIFIER ::= { swL2MgmtMIB 3 }
    swL2DiffServMgmt		    OBJECT IDENTIFIER ::= { swL2MgmtMIB 4 }
    swL2LimitedMulticastMgmt    OBJECT IDENTIFIER ::= { swL2MgmtMIB 5 }
    swL2QOSMgmt 	            OBJECT IDENTIFIER ::= { swL2MgmtMIB 6 } 
    swL2PortSecurityMgmt		OBJECT IDENTIFIER ::= { swL2MgmtMIB 7 }
	swL2DhcpRelayMgmt			OBJECT IDENTIFIER ::= { swL2MgmtMIB 8 }
    swL2TrunkMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB 9 }
    swL2MirrorMgmt              OBJECT IDENTIFIER ::= { swL2MgmtMIB 10 }
    swL2IGMPMgmt                OBJECT IDENTIFIER ::= { swL2MgmtMIB 11 }
    swL2TrafficMgmt             OBJECT IDENTIFIER ::= { swL2MgmtMIB 13 }
    swL2TrafficSegMgmt          OBJECT IDENTIFIER ::= { swL2MgmtMIB 14 }
    swL2StpMgmt                 OBJECT IDENTIFIER ::= { swL2MgmtMIB 15 }
    swL2MulticastFilterMode	OBJECT IDENTIFIER ::= { swL2MgmtMIB 17 }
    swL2LoopDetectMgmt          OBJECT IDENTIFIER::= { swL2MgmtMIB 18 }
    swL2MgmtMIBTraps            OBJECT IDENTIFIER ::= { swL2MgmtMIB 100 }


-- 
-- ***********************************************************
-- 
-- Textual Conventions
-- 
-- ***********************************************************
     IANAifMauAutoNegCapBits ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
         "This data type is used as the syntax of the
        swL2PortAutoNegCapabilityBits, swL2PortAutoNegCapAdvertisedBits, and
         swL2PortAutoNegCapReceivedBits objects in swL2PortAutoNegTable."
       REFERENCE
         "[IEEE802.3], Section 30.6.1.1.5"
       SYNTAX  BITS{
              bOther(0),          -- other or unknown
              b10baseT(1),        -- 10BASE-T  half duplex mode
              b10baseTFD(2),      -- 10BASE-T  full duplex mode
              b100baseT4(3),      -- 100BASE-T4
              b100baseTX(4),      -- 100BASE-TX half duplex mode
              b100baseTXFD(5),    -- 100BASE-TX full duplex mode
              b100baseT2(6),      -- 100BASE-T2 half duplex mode
              b100baseT2FD(7),    -- 100BASE-T2 full duplex mode
              bFdxPause(8),       -- PAUSE for full-duplex links
              bFdxAPause(9),      -- Asymmetric PAUSE for full-duplex
                                  --     links
              bFdxSPause(10),     -- Symmetric PAUSE for full-duplex
                                  --     links
              bFdxBPause(11),     -- Asymmetric and Symmetric PAUSE for
                                  --     full-duplex links
              b1000baseX(12),     -- 1000BASE-X, -LX, -SX, -CX half
                                  --     duplex mode
              b1000baseXFD(13),   -- 1000BASE-X, -LX, -SX, -CX full
                                  --     duplex mode
              b1000baseT(14),     -- 1000BASE-T half duplex mode
              b1000baseTFD(15)    -- 1000BASE-T full duplex mode
         }


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

    swL2DevInfo             OBJECT IDENTIFIER ::= { swL2DevMgmt 1 }


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

    swDevInfoNumOfPortInUse OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The number of ports in this switch connected to the segment or
             the end stations."
        ::= { swL2DevInfo 2 }
        
    swDevModuleInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwDevModuleInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contains the module information."
        ::= { swL2DevInfo 3 }
        
swDevInfoFrontPanelLedStatus OBJECT-TYPE
       SYNTAX  OCTET STRING (SIZE (0..128))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
            "This object is a set of system LED indications. The first two 
            octets indicate the LED PoE mode.             
            01 02 = PoE Mode 
            02 01 = Normal Mode 
            00 00 = Non-PoE Device 
            
            The next two are defined as system LED. 
            
            The third octet is power LED. 
            0x01 : Power Off 
            0x02 : Power On 
            
            the forth octet is console led:
            0x01 = system start up
            0x02 = a user is login through console
            0x03 = no user is login through console

            The fifth octect is RPS (Redundancy Power Supply) LED. 
            0x01 = Ineternal Power working
            0x02 = External Power working
            
            The sixth octect is FAN LED
            0x01 = Fan LED Off
            0x02 = Fan LED blinking
                       
            The other octets following are the logical port LED 
            (following dot1dBasePort 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:
             
             Normal Mode
             bit 4 :
             0 = copper link up (if link fail will show 0)
             1 = fibber link up
             
             bit 2-0 :
             01 = 10Mbps.
             02 = 100Mbps.
             03 = 1000Mbps.
             04 = 10000Mbps
             
             POE mode:
             01 = no PD connected.
             02 = no deliver power to PD.
             03 = deliver power to PD."             
       ::= { swL2DevInfo 4 }         
               
    swDevModuleInfoEntry OBJECT-TYPE
        SYNTAX  SwDevModuleInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of management information for each unit in the system."
--        INDEX  { swDevModuleInfoUnitID, swDevModuleInfoModuleID }
        INDEX  { swDevModuleInfoUnitID }
        ::= { swDevModuleInfoTable 1}

    SwDevModuleInfoEntry ::= 
        SEQUENCE {
            swDevModuleInfoUnitID
                INTEGER,
--            swDevModuleInfoModuleID
--                INTEGER,
            swDevModuleInfoModuleName
                DisplayString,
	    swDevModuleInfoReversion
                DisplayString,
            swDevModuleInfoSerial
                DisplayString, 
            swDevModuleInfoDescription
                DisplayString
        }
    
    swDevModuleInfoUnitID OBJECT-TYPE
        SYNTAX  INTEGER (1..12)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the specific unit ID in the stacking/chassis 
            table."
        ::= { swDevModuleInfoEntry 1 }

--    swDevModuleInfoModuleID OBJECT-TYPE
--        SYNTAX  INTEGER (1..4)
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the module ID of this unit." 
--        ::= { swDevModuleInfoEntry 2 }    
        
    swDevModuleInfoModuleName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..12))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
               "A text string containing the name of the module. "
        ::= { swDevModuleInfoEntry 3 }

    swDevModuleInfoReversion OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..4))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "A text string containing the version (name or number) of the module." 
        ::= { swDevModuleInfoEntry 4 }
        
    swDevModuleInfoSerial OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..9))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "A text string containing the serial number or serial name of the module." 
        ::= { swDevModuleInfoEntry 5 }
        
    swDevModuleInfoDescription  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
               "A text string containing a description of the
               module. "
        ::= { swDevModuleInfoEntry 6 }

-- -----------------------------------------------------------------------------
    swL2DevCtrl             OBJECT IDENTIFIER ::= { swL2DevMgmt 2 }

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

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

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

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

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

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

     swL2DevCtrlIpAutoconfig OBJECT-TYPE
    	SYNTAX	INTEGER {
    		enabled(1),
    		disabled(2)
    	}
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"This object controls the IP auto configuration state."
    	::= { swL2DevCtrl 20 }
    	
-- -----------------------------------------------------------------------------
     swL2DevCtrlCFM   OBJECT IDENTIFIER ::= { swL2DevCtrl 21 }

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

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

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

    SwL2DevCtrlCFMPortEntry ::=
        SEQUENCE {
            swL2DevCtrlCFMPortIndex
                INTEGER,
            swL2DevCtrlCFMPortState
                INTEGER

        }

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

    swL2DevCtrlCFMPortState OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the CFM state by port."
        ::= { swL2DevCtrlCFMPortEntry 2 }
        	
      swL2DevCtrlVLANTrunkState  OBJECT-TYPE
        SYNTAX  INTEGER
                {
                  enabled(1),
                  disabled(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
               "This indicates the global state of the VLAN trunking feature of the device."
        ::={swL2DevCtrl 22}
        
-- -----------------------------------------------------------------------------    
    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 }

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

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

    SwL2VlanStaticEntry ::=
        SEQUENCE {
            swL2VlanIndex
                VlanId,
            swL2VLANAdvertisement
                INTEGER

        }

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

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

		 If 'Auto-assign PVID' is enabled, the PVID will be changed by PVID or VLAN configuration. When a user configures 
		 a port to VLAN X's untagged membership, this port's PVID 
		 will be updated with VLAN X. Using the VLAN list command, 
		 PVID is updated as the last item of the VLAN list. When a user removes 
		 a port from the untagged membership of the PVID's VLAN, the 
		 port's PVID will be assigned 'default VLAN'."
    	::= { swL2VLANMgmt 2 }
    
    swL2VlanPortInfoTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwL2VlanPortInfoEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing the VLAN and port role information of each port."
        ::= { swL2VLANMgmt 3 }

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

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

    swL2SubnetVLANTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwL2SubnetVLANEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing the subnet VLAN information."
        ::= { swL2VLANMgmt 4 }

    swL2SubnetVLANEntry OBJECT-TYPE
        SYNTAX      SwL2SubnetVLANEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The entry of subnet VLAN information."
        INDEX   { swL2SubnetVLANIPAddress,swL2SubnetVLANIPMask }
        ::= { swL2SubnetVLANTable 1 }

    SwL2SubnetVLANEntry ::=
        SEQUENCE {
            swL2SubnetVLANIPAddress
                IpAddress,
            swL2SubnetVLANIPMask
                IpAddress,
            swL2SubnetVLANID
                VlanId,
            swL2SubnetVLANPriority
                INTEGER,
            swL2SubnetVLANRowStatus
                RowStatus
        }
        	
    swL2SubnetVLANIPAddress OBJECT-TYPE
	    SYNTAX  IpAddress
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the IP address."
    	::= { swL2SubnetVLANEntry 1 }
    	
    swL2SubnetVLANIPMask OBJECT-TYPE
	    SYNTAX   IpAddress
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the IP mask."
    	::= { swL2SubnetVLANEntry 2 }

    swL2SubnetVLANID OBJECT-TYPE
	    SYNTAX  VlanId
	    MAX-ACCESS  read-create
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the VLAN ID."
    	::= { swL2SubnetVLANEntry 3 }
    	
    swL2SubnetVLANPriority OBJECT-TYPE
	    SYNTAX   INTEGER (0..7)
	    MAX-ACCESS  read-create
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the priority."
    	::= { swL2SubnetVLANEntry 4 }

    swL2SubnetVLANRowStatus OBJECT-TYPE
	    SYNTAX  RowStatus
	    MAX-ACCESS  read-create
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the status of this entry."
    	::= { swL2SubnetVLANEntry 5 }

    swL2VlanPrecedenceTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwL2VlanPrecedenceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing the VLAN classification precedence information of each port."
        ::= { swL2VLANMgmt 5 }

    swL2VlanPrecedenceEntry OBJECT-TYPE
        SYNTAX      SwL2VlanPrecedenceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The entry of VLAN classification precedence information."
        INDEX   { swL2VlanPrecedencePortIndex }
        ::= { swL2VlanPrecedenceTable 1 }

    SwL2VlanPrecedenceEntry ::=
        SEQUENCE {
            swL2VlanPrecedencePortIndex
                INTEGER,
            swL2VlanPrecedenceClassification
                INTEGER
        }
        	
    swL2VlanPrecedencePortIndex OBJECT-TYPE
	    SYNTAX  INTEGER (0..65535)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the port index."
    	::= { swL2VlanPrecedenceEntry 1 }
    	
    swL2VlanPrecedenceClassification OBJECT-TYPE
	    SYNTAX   INTEGER{
	             mac-based(1),
	             subnet-based(2)
	             }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the VLAN classification precedence."
    	::= { swL2VlanPrecedenceEntry 2 }
 
	swL2NniGvrpBpduAddress OBJECT-TYPE
	   SYNTAX  INTEGER {
	   		dot1d(1),
	   		dot1ad(2)
	   		}
	   MAX-ACCESS  read-write
	   STATUS  current
	   DESCRIPTION
	"Specifies the GVRP's BPDU MAC address of the NNI port with Q-in-Q status."
	   ::= { swL2VLANMgmt 6 }
                                               	
-- -----------------------------------------------------------------------------
--  swL2PortMgmt            OBJECT IDENTIFIER ::= { swL2MgmtMIB 3 }
-- -----------------------------------------------------------------------------

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

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

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

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

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

    swL2PortInfoType OBJECT-TYPE
        SYNTAX  INTEGER {            
               portType-100Base-TX(1),
               portType-100Base-FX(2),
               portType-100Base-FL(3),              
               portType-1000Base-TX(4),
               portType-1000Base-SX(5),
               portType-1000Base-LX(6),
               portType-1000Base-SX-GBIC(7),
               portType-1000Base-LX-GBIC(8),
               portType-1000Base-TX-GBIC(9),
               portType-1000Base-1394(10),
               portType-1000Base-TX-GBIC-COMBO(11),
               portType-1000Base-none-GBIC(12),
               portType-1000Base-SX-MGBIC(13),
               portType-1000Base-LX-MGBIC(14),
               portType-1000Base-TX-MGBIC(15),
               portType-1000Base-none-MGBIC(16),
               portType-SIO(17),
               portType-10G(18),
               portType-10G-xenpak-1310nm(19),
               portType-10G-xenpak-850nm(20),
               portType-10G-xenpak-empty(21),
               portType-10G-xfp-1310nm(22),
               portType-10G-xfp-850nm(23),
               portType-10G-xfp-empty(24),    
               portType-none(25) 
              }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the connector type of this port."
        ::= { swL2PortInfoEntry 4 }

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

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

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

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

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

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

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

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

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

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

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

--              }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "This object controls the multicast port filtering mode for a specified port. "   
--          ::= { swL2PortCtrlEntry 9 }

           swL2PortCtrlMDIXState OBJECT-TYPE
                SYNTAX  INTEGER {
                        auto(1),
                        normal(2),
                        cross(3)
                        }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object configures the MDIX setting of the port."
                ::= { swL2PortCtrlEntry 10 }

      swL2PortCtrlAutoNegRestart OBJECT-TYPE
          SYNTAX      INTEGER {
                          restart(1),
                          norestart(2)
                      }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION 
				"If the value of this object is set to restart(1) then this will force 
				auto-negotiation to begin link renegotiation.  If auto-negotiation
			    signaling is disabled, a write to this object has no effect.
                Setting the value of this object to norestart(2) has no effect."
          REFERENCE   "[IEEE802.3], 30.6.1.2.1,
                      acAutoNegRestartAutoConfig."
          ::= { swL2PortCtrlEntry 11}

     swL2PortCtrlAutoNegCapAdvertisedBits OBJECT-TYPE
          SYNTAX      IANAifMauAutoNegCapBits
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION 
				"A value that uniquely identifies the set of capabilities advertised 
				by the local  auto-negotiation entity.
			
				Capabilities in this object that are not available in 
				swL2PortAutoNegInfoCapabilityBits cannot be enabled.
			
			    Note that the local auto-negotiation entity may advertise some 
				capabilities beyond the scope of this MIB.  This is indicated by 
				returning the bit value bOther in addition to any bit values for 
				standard capabilities that are listed in the 
				IANAifMauAutoNegCapBits TC."
			
          REFERENCE   "[IEEE802.3], 30.6.1.1.6,
                      aAutoNegAdvertisedTechnologyAbility."
          ::= { swL2PortCtrlEntry 12 }

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

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

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

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

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

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

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

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

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

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

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

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

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

        swL2PortErrPortIndex OBJECT-TYPE
              SYNTAX  INTEGER (0..65535)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object indicates the module's port number.(1..Max port number in
                   the module)."
              ::= { swL2PortErrEntry 1 }
       
	swL2PortErrPortState OBJECT-TYPE
              SYNTAX  INTEGER {
                     enabled(1),
                     disabled(2)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object indicates if the port state is enabled or disabled."
              ::= { swL2PortErrEntry 2 }
              
	swL2PortErrPortConnStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                     other(1),
                     err-disabled(2)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object indicates whether the Port Status is err-disabled or not."
              ::= { swL2PortErrEntry 3 }
               
	swL2PortErrPortReason OBJECT-TYPE
              SYNTAX  INTEGER {
                     unknown(0),
                     stp-lbd(1),
                     storm-control(2),
                     ctp-lbd(3),
                     ddm(4),
                     bpdu_protection(5),
                     power-saving(6),
                     duld(7)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object describes the reason for the port error disabled type."
              ::= { swL2PortErrEntry 4 }
      
-- -----------------------------------------------------------------------------
-- swL2PortAutoNegInfoTable 
-- -----------------------------------------------------------------------------
    swL2PortAutoNegInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2PortAutoNegInfoEntry 
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that contains information about every port's auto negotiation status."
        ::= { swL2PortMgmt 8 }

    swL2PortAutoNegInfoEntry OBJECT-TYPE
        SYNTAX  SwL2PortAutoNegInfoEntry 
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information for each port auto negotiation of the device."
        INDEX   { swL2PortAutoNegInfoPortIndex }
        ::= { swL2PortAutoNegInfoTable 1 }

    SwL2PortAutoNegInfoEntry ::= 
        SEQUENCE {
            swL2PortAutoNegInfoPortIndex 
                INTEGER,
           swL2PortAutoNegInfoAdminStatus           
				INTEGER,
           swL2PortAutoNegInfoCapabilityBits        
				IANAifMauAutoNegCapBits,
           swL2PortAutoNegInfoCapAdvertisedBits     
				IANAifMauAutoNegCapBits,
           swL2PortAutoNegInfoCapReceivedBits       
				IANAifMauAutoNegCapBits
        }

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

    swL2PortAutoNegInfoAdminStatus OBJECT-TYPE
          SYNTAX      INTEGER {
                          enabled(1),
                          disabled(2)
                      }
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION 
			" If the value of this object is disabled(2) then the interface will act as 
			it would if it had no auto-negotiation signaling.
			The status is affect by setting swL2PortCtrlNwayState."		
          REFERENCE   "[IEEE802.3], 30.6.1.1.2, aAutoNegAdminState,
                      and 30.6.1.2.2, acAutoNegAdminControl."
          ::= { swL2PortAutoNegInfoEntry 2 }

      swL2PortAutoNegInfoCapabilityBits OBJECT-TYPE
          SYNTAX      IANAifMauAutoNegCapBits
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION 
			"A value that uniquely identifies the set of capabilities of the local 
			auto-negotiation entity.  Note that interfaces that support this MIB may 
			have capabilities that extend beyond the scope of this MIB.
		
		    Note that the local auto-negotiation entity may support some capabilities 
			beyond the scope of this MIB.  This is indicated by returning the bit value 
			bOther in addition to any bit values for standard capabilities that are listed 
			in the IANAifMauAutoNegCapBits TC."		
          REFERENCE   "[IEEE802.3], 30.6.1.1.5,
                      aAutoNegLocalTechnologyAbility."
          ::= { swL2PortAutoNegInfoEntry 3 }

     swL2PortAutoNegInfoCapAdvertisedBits OBJECT-TYPE
          SYNTAX      IANAifMauAutoNegCapBits
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION 
			"A value that uniquely identifies the set of capabilities advertised by the 
			local auto-negotiation entity.
		
			Capabilities in this object that are not available in 
			swL2PortAutoNegCapabilityBits cannot be enabled.
		
		    Note that the local auto-negotiation entity may advertise some capabilities 
			beyond the scope of this MIB.  This is indicated by returning the bit value 
			bOther in addition to any bit values for standard capabilities that are listed 
			in the IANAifMauAutoNegCapBits TC."		
          REFERENCE   "[IEEE802.3], 30.6.1.1.6,
                      aAutoNegAdvertisedTechnologyAbility."
          ::= { swL2PortAutoNegInfoEntry 4 }

    swL2PortAutoNegInfoCapReceivedBits OBJECT-TYPE
          SYNTAX      IANAifMauAutoNegCapBits
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION 
			"A value that uniquely identifies the set of capabilities received from the 
			remote auto-negotiation entity.
						
		    Note that interfaces that support this MIB may be attached to remote 
			auto-negotiation entities that have capabilities beyond the scope of this
		 	MIB.  This is indicated by returning the bit value bOther in addition to 
			any bit values for standard capabilities that are listed in the
			 IANAifMauAutoNegCapBits TC."		
          REFERENCE   "[IEEE802.3], 30.6.1.1.7,
                      aAutoNegReceivedTechnologyAbility."
          ::= { swL2PortAutoNegInfoEntry 5 }

-- -----------------------------------------------------------------------------
-- swL2PortDropCounterTable
-- -----------------------------------------------------------------------------
    swL2PortDropCounterTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2PortDropCounterEntry 
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that contains information for each port drop counter."
        ::= { swL2PortMgmt 9 }

    swL2PortDropCounterEntry OBJECT-TYPE
        SYNTAX  SwL2PortDropCounterEntry 
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information for each port auto negotiation of the device."
        INDEX   { swL2PortDropCounterPortIndex }
        ::= { swL2PortDropCounterTable 1 }

    SwL2PortDropCounterEntry ::= 
        SEQUENCE {
            swL2PortDropCounterPortIndex 
                INTEGER,
           swL2PortBufferFullDrops 
	Counter,
           swL2PortACLDrops
	Counter,
           swL2PortMulticastDrops
	Counter,
           swL2PortVLANIngressDrops
	Counter
        }

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

    swL2PortBufferFullDrops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The total number of packets discarded while buffer full."
    	::= { swL2PortDropCounterEntry 2 }

    swL2PortACLDrops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The total number of packets denied by ACLs."
    	::= { swL2PortDropCounterEntry 3 }

    swL2PortMulticastDrops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The total number of multicast packet that is discarded."
    	::= { swL2PortDropCounterEntry 4 }

    swL2PortVLANIngressDrops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The total number of packets discarded by VLAN ingress checking."
    	::= { swL2PortDropCounterEntry 5 }


-- -----------------------------------------------------------------------------
-- swL2PortJumboFrameCtrlTable
-- -----------------------------------------------------------------------------
        swL2PortJumboFrameCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2PortJumboFrameCtrlEntry 
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that contains information for each port's jumbo frame information."
        ::= { swL2PortMgmt 10 }

    swL2PortJumboFrameCtrlEntry OBJECT-TYPE
        SYNTAX  SwL2PortJumboFrameCtrlEntry 
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information for each port's jumbo frame of the device."
        INDEX   { swL2PortJumboFrameCtrlPortIndex }
        ::= { swL2PortJumboFrameCtrlTable 1 }

    SwL2PortJumboFrameCtrlEntry ::= 
        SEQUENCE {
            swL2PortJumboFrameCtrlPortIndex 
                INTEGER,
            swL2PortJumboFrameCtrlState 
	        INTEGER   
        }
        
    swL2PortJumboFrameCtrlPortIndex OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "This object indicates the module's port number."
              ::= { swL2PortJumboFrameCtrlEntry 1 }
              
    swL2PortJumboFrameCtrlState OBJECT-TYPE
              SYNTAX  INTEGER {
                              enabled(1),
                              disabled(2)
                              }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                   "This object indicates the jumbo frame state on a specified port."
              ::= { swL2PortJumboFrameCtrlEntry 2 }
      
-- -----------------------------------------------------------------------------
--  swL2DiffServMgmt            OBJECT IDENTIFIER ::= { swL2MgmtMIB 4 }
-- -----------------------------------------------------------------------------

          swL2DiffServTypeCtrlTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2DiffServTypeCtrlEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "A table that contains the Differentiated Service (DiffServ) type information of each port."
              ::= { swL2DiffServMgmt 1 }

          swL2DiffServTypeCtrlEntry OBJECT-TYPE
              SYNTAX  SwL2DiffServTypeCtrlEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "A list of DiffServ type information for each port of the device."
              INDEX  { swL2DiffServTypeCtrlPortIndex }
              ::= { swL2DiffServTypeCtrlTable 1 }

          SwL2DiffServTypeCtrlEntry ::= 
              SEQUENCE {
                  swL2DiffServTypeCtrlPortIndex
                      INTEGER,
                  swL2DiffServTypeCtrlDiffServType
                      INTEGER
              }

          swL2DiffServTypeCtrlPortIndex 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)"
              ::= { swL2DiffServTypeCtrlEntry 1 }

          swL2DiffServTypeCtrlDiffServType OBJECT-TYPE
              SYNTAX  INTEGER {
                     disabled(1),
                     dscp(2),
                     tos(3)
                     }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "The DiffServ type of this port.
                  disabled (1) --- no DiffServ and ToS field modification ability.                   
                  DSCP (2)     --- indicates if the associated port's DSCP control information is in
                  		the swL2DiffServDSCPCtrlTable will take effect upon replacement of
                  		the DSCP(DiffServ codepoint) field.
		  ToS (3)      --- indicates if the associated port's ToS control information in the
		  		swL2DiffServTOSCtrlTable will take effect for the replacement of the
		  		IP ToS precedence and the 802.1p tag control priority field."
              ::= { swL2DiffServTypeCtrlEntry 2 }

-- -----------------------------------------------------------------------------

          swL2DiffServDSCPCtrlTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2DiffServDSCPCtrlEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "A table that contains DSCP (Differentiated Service Code Point) control
                  information."
              ::= { swL2DiffServMgmt 2 }

          swL2DiffServDSCPCtrlEntry OBJECT-TYPE
              SYNTAX  SwL2DiffServDSCPCtrlEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "A list of DSCP control information for each port."
              INDEX  { swL2DiffServDSCPCtrlPortIndex }
              ::= { swL2DiffServDSCPCtrlTable 1 }

          SwL2DiffServDSCPCtrlEntry ::= 
              SEQUENCE {
                  swL2DiffServDSCPCtrlPortIndex
                      INTEGER,
                  swL2DiffServDSCPCtrlMode
                      INTEGER,
                  swL2DiffServDSCPCtrlValue
                      INTEGER
              }

          swL2DiffServDSCPCtrlPortIndex 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)"
              ::= { swL2DiffServDSCPCtrlEntry 1 }

          swL2DiffServDSCPCtrlMode OBJECT-TYPE
              SYNTAX  INTEGER {
                     dscp-Force-Overwrite(1),
                     dscp-Change-If-Zero(2)
                     }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "The DSCP mode of this port.
                   dscp-Force-Overwrite(1) --- The DSCP field for the IP packet is replaced by the specific 
                                               value regardless of the DSCP of the incoming packet.
                   dscp-Change-If-Zero(2)  --- The DSCP field for the IP packet is replaced by the specific 
                                               value if the DSCP of the incoming packet is zero."
              ::= { swL2DiffServDSCPCtrlEntry 2 }

          swL2DiffServDSCPCtrlValue OBJECT-TYPE
              SYNTAX  INTEGER (0..63)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "The DSCP value of this port."
              ::= { swL2DiffServDSCPCtrlEntry 3 }

-- -----------------------------------------------------------------------------

          swL2DiffServTOSCtrlTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2DiffServTOSCtrlEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "A table that contains ToS (Type of Service) control
                  information."
              ::= { swL2DiffServMgmt 3 }

          swL2DiffServTOSCtrlEntry OBJECT-TYPE
              SYNTAX  SwL2DiffServTOSCtrlEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "A list of ToS control information for each port."
              INDEX  { swL2DiffServTOSCtrlPortIndex }
              ::= { swL2DiffServTOSCtrlTable 1 }

          SwL2DiffServTOSCtrlEntry ::= 
              SEQUENCE {
                  swL2DiffServTOSCtrlPortIndex
                      INTEGER,
                  swL2DiffServTOSCtrlMode
                      INTEGER,
                  swL2DiffServTOSCtrlValue
                      INTEGER
              }

          swL2DiffServTOSCtrlPortIndex 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)"
              ::= { swL2DiffServTOSCtrlEntry 1 }

          swL2DiffServTOSCtrlMode OBJECT-TYPE
              SYNTAX  INTEGER {
                     tos-Force-Overwrite(1),
                     tos-TOS-Overwrite-802dot1p(2),
                     tos-802dot1p-Overwrite-TOS(3)
                     }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "The ToS mode of this port.
                   tos-Force-Overwrite(1) --- The IP ToS precedence has changed to the specific value.
                   tos-TOS-Overwrite-802dot1p(2) --- If the incoming packet is an IPv4 packet, change the 802.1p
                                                     tag control priority field to the value in the IP ToS precedence 
                                                     field.
                   tos-802dot1p-Overwrite-TOS(3) --- If the incoming packet is an IPv4 packet, the IP ToS precedence 
                                                     is changed to the value in the 802.1p tag control priority 
                                                     field."
              ::= { swL2DiffServTOSCtrlEntry 2 }

          swL2DiffServTOSCtrlValue OBJECT-TYPE
              SYNTAX  INTEGER (0..7)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "This object is used only if swL2DiffServTOSCtrlMode is tos-Force-Overwrite(1)"
              ::= { swL2DiffServTOSCtrlEntry 3 }


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

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

     swL2LimitedMulticastFilterPortAccess OBJECT-TYPE
     	SYNTAX INTEGER {
     		permit(1),
     		deny(2)
     		}
     	MAX-ACCESS read-write
     	STATUS current
     	DESCRIPTION
     		"This object indicates the access status for each port."
     	::= {swL2LimitedMulticastFilterPortEntry 2}
     	
     swL2LimitedMulticastFilterPortProfileID OBJECT-TYPE
    	SYNTAX DisplayString
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
		"This object specifies a profile ID list for each port."
	::={swL2LimitedMulticastFilterPortEntry 3}	 
     	
     swL2LimitedMulticastFilterPortProfileStatus OBJECT-TYPE
    	SYNTAX INTEGER {
    		other(1),
    		add(2),
    		delete(3)
    		}
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
    		"Controls the multicast filter profile list which binds to each port.
		When set to add (2), the multicast filter profile ID list which is specified in
		swL2LimitedMulticastFilterPortProfileID will be bound to the port.
		When set to delete (3), the multicast filter profile ID list that is specified in
		swL2LimitedMulticastFilterPortProfileID will be unbound from the port.
		The attribute value reverts to 'other' once the action has been done."
	::={swL2LimitedMulticastFilterPortEntry 4}
     
-- ----------------------------------------------------------------------------    	
     swL2MulticastFilterPortMaxGroupTable OBJECT-TYPE
     	SYNTAX SEQUENCE OF SwL2MulticastFilterPortMaxGroupEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION 
 		" A table that contains information about max group numbers based on each port."
     	::={swL2LimitedMulticastMgmt 4}
     
     swL2MulticastFilterPortMaxGroupEntry OBJECT-TYPE
     	SYNTAX SwL2MulticastFilterPortMaxGroupEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
     		"A list of max group number information for each port. "
	INDEX {swL2MulticastFilterPortMaxGroupPortIndex}
     	::={swL2MulticastFilterPortMaxGroupTable 1}
     
     SwL2MulticastFilterPortMaxGroupEntry ::=
     	SEQUENCE{
	swL2MulticastFilterPortMaxGroupPortIndex
     		INTEGER,
     	swL2MulticastFilterPortMaxGroup
     	        INTEGER	
     	}
 
     swL2MulticastFilterPortMaxGroupPortIndex OBJECT-TYPE
    	SYNTAX INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"Specifies the port number as a table index."
	::={swL2MulticastFilterPortMaxGroupEntry 1}
    	
     swL2MulticastFilterPortMaxGroup OBJECT-TYPE
        SYNTAX  INTEGER(1..256)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "Specifies maximum multicast filter group numbers for each port. 
             The default value is 256."
        ::= { swL2MulticastFilterPortMaxGroupEntry 2 }
        
-- ----------------------------------------------------------------------------
     swL2LimitedMulticastFilterVIDTable  OBJECT-TYPE
     	SYNTAX SEQUENCE OF SwL2LimitedMulticastFilterVIDEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
 		"A table that is used to bind the VID to the profile ID."
     	::={swL2LimitedMulticastMgmt 5}

     swL2LimitedMulticastFilterVIDEntry OBJECT-TYPE
     	SYNTAX SwL2LimitedMulticastFilterVIDEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
     		"A list of information that is used to bind the VID to the profile ID. "
	INDEX {swL2LimitedMulticastFilterVIDIndex}
     	::={swL2LimitedMulticastFilterVIDTable 1}

     SwL2LimitedMulticastFilterVIDEntry ::=
     	SEQUENCE{
	swL2LimitedMulticastFilterVIDIndex
     		INTEGER,
        swL2LimitedMulticastFilterVIDAccess
        	INTEGER,     		
     	swL2LimitedMulticastFilterVIDProfileID
                DisplayString,
        swL2LimitedMulticastFilterVIDProfileStatus
     		INTEGER
     	}

     swL2LimitedMulticastFilterVIDIndex OBJECT-TYPE
    	SYNTAX INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"Specifies the VID as an index."
	::={swL2LimitedMulticastFilterVIDEntry 1}

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

-- ----------------------------------------------------------------------------    	
     swL2MulticastFilterVIDMaxGroupTable OBJECT-TYPE
     	SYNTAX SEQUENCE OF SwL2MulticastFilterVIDMaxGroupEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
 		" A table that contains information about max group numbers based on VID."
     	::={swL2LimitedMulticastMgmt 6}

     swL2MulticastFilterVIDMaxGroupEntry OBJECT-TYPE
     	SYNTAX SwL2MulticastFilterVIDMaxGroupEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
     		"A list of max group number information for each VID. "
	INDEX {swL2MulticastFilterVIDMaxGroupVIDIndex}
     	::={swL2MulticastFilterVIDMaxGroupTable 1}

     SwL2MulticastFilterVIDMaxGroupEntry ::=
     	SEQUENCE{
	swL2MulticastFilterVIDMaxGroupVIDIndex
     		INTEGER,
     	swL2MulticastFilterVIDMaxGroup
     	        INTEGER	
     	}

     swL2MulticastFilterVIDMaxGroupVIDIndex OBJECT-TYPE
    	SYNTAX INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"Specifies the VID number as a table index."
	::={swL2MulticastFilterVIDMaxGroupEntry 1}
    	
     swL2MulticastFilterVIDMaxGroup OBJECT-TYPE
        SYNTAX  INTEGER(1..256)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "Specifies maximum multicast filter group numbers for each VID.
             The default value is 256."
        ::= { swL2MulticastFilterVIDMaxGroupEntry 2 }

-- -----------------------------------------------------------------------------
--        swL2QOSMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB 6 }
-- -----------------------------------------------------------------------------

	swL2QOSBandwidthControlTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwL2QOSBandwidthControlEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "."
		::= { swL2QOSMgmt 1 }
	
	swL2QOSBandwidthControlEntry OBJECT-TYPE
		SYNTAX  SwL2QOSBandwidthControlEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information contained in the swL2QOSBandwidthControlTable."
		INDEX   { swL2QOSBandwidthPortIndex }
		::= { swL2QOSBandwidthControlTable 1 }
	
	SwL2QOSBandwidthControlEntry ::=
		SEQUENCE {
		  swL2QOSBandwidthPortIndex
		      INTEGER,
		  swL2QOSBandwidthRxRate
		      INTEGER,
		  swL2QOSBandwidthTxRate
		      INTEGER,   
		  swL2QOSBandwidthRadiusRxRate
		      INTEGER,
		  swL2QOSBandwidthRadiusTxRate
		      INTEGER		
		}
	
	swL2QOSBandwidthPortIndex OBJECT-TYPE
		SYNTAX  INTEGER (1..768)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the port."
		::= { swL2QOSBandwidthControlEntry 1 }
	
	swL2QOSBandwidthRxRate OBJECT-TYPE
		SYNTAX  INTEGER (1..10000)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates RX Rate (Mbit/sec) of the specified port. A value of 10000 means no limit."
		::= { swL2QOSBandwidthControlEntry 2 }
	
	swL2QOSBandwidthTxRate OBJECT-TYPE
		SYNTAX  INTEGER (1..10000)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates TX Rate(Mbit/sec) of the specified port. A value of 10000 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,    
			swL2QOSSchedulingMechanism
		    	INTEGER,
			swL2QOSSchedulingMaxLatency
				INTEGER    		     
		}
	
	swL2QOSSchedulingClassIndex OBJECT-TYPE
		SYNTAX  INTEGER (0..7)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the hardware queue number."
		::= { swL2QOSSchedulingEntry 1 }
	
	swL2QOSSchedulingMaxPkts OBJECT-TYPE
		SYNTAX  INTEGER (0..15)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates the maximum number of packets the hardware priority queue will be allowed
		      to transmit before allowing the next lowest priority queue to transmit its packets.
		      a value between 0 and 15 can be specified."
		::= { swL2QOSSchedulingEntry 2 }	
		
	swL2QOSSchedulingMechanism OBJECT-TYPE
		SYNTAX	INTEGER {
               strict(1),
               roundrobin(2),
               weightfair(3)
               }
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the mechanism of QoS scheduling."
		::= { swL2QOSSchedulingEntry 3 }

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

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

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

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

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

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

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

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

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

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

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

    swL2TrunkCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2TrunkCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table specifies information about the logical port trunk groups."
        ::= { swL2TrunkMgmt 3 }

    swL2TrunkCtrlEntry OBJECT-TYPE
        SYNTAX  SwL2TrunkCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information about each logical port trunk group." 
        INDEX  { swL2TrunkIndex }
        ::= { swL2TrunkCtrlTable 1 }

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

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

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


    swL2TrunkMasterPort OBJECT-TYPE
        SYNTAX  INTEGER (1..65535)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the master port number of the port trunk
            entry. When using Port Trunking, you cannot 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)." 
        ::= { swL2TrunkCtrlEntry 3 }

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

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

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

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

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

    swL2TrunkLACPPortState OBJECT-TYPE
        SYNTAX  INTEGER{
                  active(1),
                  passive(2)
                  }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The state of a logical port LACP."       
        ::= { swL2TrunkLACPPortEntry 2 }

    swL2TrunkVLANTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2TrunkVLANEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table is used to manage the VLAN trunking feature of the device."
        ::= { swL2TrunkMgmt 6 }

    swL2TrunkVLANEntry   OBJECT-TYPE
        SYNTAX  SwL2TrunkVLANEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This object is used to configure the VLAN trunking settings for each port."
        INDEX  { swL2TrunkVLANPort }
        ::= { swL2TrunkVLANTable 1 }

     SwL2TrunkVLANEntry ::=
        SEQUENCE {
            swL2TrunkVLANPort
                INTEGER,
            swL2TrunkVLANState
                INTEGER
        }

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

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

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

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

    swL2MirrorGroupEntry OBJECT-TYPE
        SYNTAX  SwL2MirrorGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information about each mirror group configuration."
        INDEX  { swL2MirrorGroupID }
        ::= { swL2MirrorGroupTable 1 }

    SwL2MirrorGroupEntry ::=
        SEQUENCE {
            swL2MirrorGroupID
                INTEGER,
            swL2MirrorGroupRowStatus
                RowStatus,
            swL2MirrorGroupState
                INTEGER,
            swL2MirrorGroupTargetPort
                INTEGER,
            swL2MirrorGroupSourceIngress
                PortList,
            swL2MirrorGroupSourceEngress
                PortList
        }

    swL2MirrorGroupID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This object indicates the mirror group.
             The range of this object is (1..N),
	     the value of N is project dependent."
        ::= { swL2MirrorGroupEntry 1 }
        
    swL2MirrorGroupRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { swL2MirrorGroupEntry 2 }
        
    swL2MirrorGroupState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),	
               disabled(2)
               }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the mirror group state."
        ::= { swL2MirrorGroupEntry 3 }
        
    swL2MirrorGroupTargetPort OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the mirror group target port."
        ::= { swL2MirrorGroupEntry 4 }

    swL2MirrorGroupSourceIngress OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the mirror group ingress source ports."
        ::= { swL2MirrorGroupEntry 5 }
        
    swL2MirrorGroupSourceEngress OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the mirror group engress source ports."
        ::= { swL2MirrorGroupEntry 6 }
-- -----------------------------------------------------------------------------
--  swL2IGMPMgmt            OBJECT IDENTIFIER ::= { swL2MgmtMIB 11 }
-- -----------------------------------------------------------------------------

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

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

     swL2IGMPSnoopingMulticastVlanState  OBJECT-TYPE
        SYNTAX  INTEGER
                {
                  enabled(1),
                  disabled(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
               "It indicates the global state of igmp_snoop multicast_vlan."
        ::={swL2IGMPMgmt 3}
        

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

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

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

        }

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

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

    swL2IGMPQueryInterval OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The frequency at which IGMP Host-Query packets are
             transmitted on this switch."
        DEFVAL      { 125 }
        ::= { swL2IGMPCtrlEntry 2 }
        
    swL2IGMPMaxResponseTime OBJECT-TYPE
        SYNTAX INTEGER (1..25)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The maximum query response time on this switch."
        DEFVAL      { 10 }
        ::= { swL2IGMPCtrlEntry 3 }
        
    swL2IGMPRobustness OBJECT-TYPE
        SYNTAX INTEGER (1..255)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Robustness Variable allows tuning for the expected
             packet loss on a subnet. If a subnet is expected to have a high packet
             loss, 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  obsolete
        DESCRIPTION
            "The timer value for sending IGMP query packets when none were 
            sent by the host on the LAN. The timer works on a per-VLAN basis. 
            Our device will be activated to send the query messages if the 
            timer expires. Please reference RFC2236-1997."
        DEFVAL  { 260 }
        ::= { swL2IGMPCtrlEntry 6 }

    swL2IGMPRouteTimeout OBJECT-TYPE
        SYNTAX  INTEGER (1..16711450)
        MAX-ACCESS  read-write
        STATUS  obsolete
        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  obsolete
        DESCRIPTION
            "When a query receives a Leave Group message for a group that
            has group members on the reception interface, it sends
            Group-Specific Queries every swL2IGMPLeaveTimer to the group 
            being left."
        DEFVAL  { 1 }
        ::= { swL2IGMPCtrlEntry 8 }
    
    swL2IGMPQueryState OBJECT-TYPE
        SYNTAX INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object decides if the IGMP query is enabled or disabled."
        ::= { swL2IGMPCtrlEntry 9 }
        
    swL2IGMPCurrentState OBJECT-TYPE
        SYNTAX INTEGER {
               other(1),
               querier(2),
               non-querier(3)
               }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object indicates the current IGMP query state."
        ::= { swL2IGMPCtrlEntry 10 }
        
    swL2IGMPCtrlState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disable(2),
               enable(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry.
 
            other (1) - this entry is currently in use but the conditions under
                which it will remain so are different from each of the following
                values.
            disable (2) - IGMP function is disabled for this entry.
            enable (3) - IGMP function is enabled for this entry."
        ::= { swL2IGMPCtrlEntry 11 }
        
    swL2IGMPFastLeaveState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disable(2),
               enable(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the fast_leave status of this entry.

            other (1) - this entry is currently in use but the conditions under
                which it will remain so are different from each of the following
                values.
            disable (2) - IGMP fast-leave function is disabled for this entry.
            enable (3) -  IGMP fast-leave function is enabled for this entry."
        ::= { swL2IGMPCtrlEntry 12 }

     swL2IGMPQueryVersion OBJECT-TYPE
        SYNTAX  INTEGER (1..3)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Configure the IGMP version of query packet which will be sent by the router."
        ::= { swL2IGMPCtrlEntry 13 }
        

    swL2IGMPRateLimit OBJECT-TYPE
        SYNTAX  INTEGER (0..1000)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Config the rate of IGMP report or leave packet that the switch can
            process on a specific VLAN. The rate is specified in packet per second.

            The packet that exceeds the limited rate will be dropped.
            This setting is also applied to multicast VLAN.
            The default setting '0' is no_limit."
        DEFVAL  { 0 }
        ::= { swL2IGMPCtrlEntry 14 }
        
    swL2IGMPReportSuppression OBJECT-TYPE
        SYNTAX  INTEGER{
               enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When enabled, multiple IGMP reports or leaves for a specific group (S,G)
             will be integrated into only one report before being sent to the router
             port."
        ::= { swL2IGMPCtrlEntry 15 }
        


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

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

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

--    swL2IGMPInfoIndex OBJECT-TYPE
--        SYNTAX  INTEGER (1..12)
--        MAX-ACCESS  read-only
--        STATUS  Obsolete
--        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 (1..4094)
        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  obsolete
        DESCRIPTION
            "This object indicates the number of query packets received 
            since the IGMP function was enabled, on a per-VLAN basis."
        ::= { swL2IGMPQueryInfoEntry 2 }

    swL2IGMPInfoTxQueryCount OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "This object indicates the send count of IGMP query messages, on a
            per-VLAN basis. In the case of an IGMP timer expiration, the switch
            will send IGMP query packets to all related VLAN member ports and
            increment this object by 1."
        ::= { swL2IGMPQueryInfoEntry 3 }
        
    swL2IGMPQueryIPAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object identifies the Query IP addresses."
        ::= { swL2IGMPQueryInfoEntry 4 }

     swL2IGMPQueryExpiryTime OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the Query Expiry Time."
        ::= { swL2IGMPQueryInfoEntry 5  }

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

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

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

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

    swL2IGMPGroupIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "This object identifies group IP addresses which were captured from 
             IGMP packets, on a per-VLAN basis."
        ::= { swL2IGMPInfoEntry 2 }

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

    swL2IGMPPortMap OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "This object indicates which ports belong to the same 
	     multicast group, on a per-VLAN basis. Each multicast group has an            
	     octet string which is indicated by a 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 bits corresponding to the port from which a frame is received is 
	     irrelevant). The 4 octets represent one unit port according to its logical 
	     port. If the unit is less than 32 ports, other ports are not affected and 
	     are replaced with zeroes."
        ::= { swL2IGMPInfoEntry 4 }

    swL2IGMPIpGroupReportCount OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "This object indicates how many report packets were received by the          
            device, that correspond with this entry when the IGMP function is enabled            
            on a per-VLAN basis." 
        ::= { swL2IGMPInfoEntry 5 }

     swL2IGMPVersion OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "This object identifies the version of IGMP from
             IGMP packets, on a per-VLAN basis."
        ::= { swL2IGMPInfoEntry 6 }

    swL2IGMPGroupMode OBJECT-TYPE
        SYNTAX  INTEGER {
                include(1),
                exclude(2)
                }
        MAX-ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "When the version of IGMP is v3, this object identifies whether the
             group is in INCLUDE or EXCLUDE mode."
        ::= { swL2IGMPInfoEntry 7 }

-- -----------------------------------------------------------------------------
--  swL2IGMPRouterPortTable	OBJECT IDENTIFIER ::= { swL2IGMPMgmt 7 }        
-- -----------------------------------------------------------------------------              
    swL2IGMPRouterPortTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPRouterPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The information of the router port table."
        ::= { swL2IGMPMgmt 7 }

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

    SwL2IGMPRouterPortEntry ::= 
        SEQUENCE {
            swL2IGMPRouterPortVlanid
                INTEGER,
            swL2IGMPRouterPortVlanName
                DisplayString,
            swL2IGMPRouterPortStaticPortList
                PortList,
            swL2IGMPRouterPortDynamicPortList
                PortList,
            swL2IGMPRouterPortForbiddenPortList
                PortList
        }
        
    swL2IGMPRouterPortVlanid OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VLAN ID of the router's port entry."
        ::= { swL2IGMPRouterPortEntry 1 }
        
    swL2IGMPRouterPortVlanName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VLAN name of the router's 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's 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's 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's port entry."
        ::= { swL2IGMPRouterPortEntry 5 }

-- -----------------------------------------------------------------------------
--  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."
        ::= { swL2IGMPMgmt 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"
        ::= { swL2IGMPMgmt 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."
        ::= { swL2IGMPMgmt 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."
        ::= { swL2IGMPMgmt 11 }

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

    SwIGMPSnoopingGroupEntry ::=
        SEQUENCE {
            swIGMPSnoopingGroupVid
                INTEGER,
            swIGMPSnoopingGroupGroupAddr
                IpAddress,
            swIGMPSnoopingGroupSourceAddr
                IpAddress,
            swIGMPSnoopingGroupIncludePortMap
                PortList,
            swIGMPSnoopingGroupExcludePortMap
                PortList,
            swIGMPSnoopingGroupReportCount
            	INTEGER,
            swIGMPSnoopingGroupUpTime
            	TimeTicks,
            swIGMPSnoopingGroupExpiryTime
            	TimeTicks,
            swIGMPSnoopingGroupRouterPorts
            	PortList,
            swIGMPSnoopingGroupStaticMemberPorts
            	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 }
        
    swIGMPSnoopingGroupStaticMemberPorts OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port number of the static member ports.
            This object is only supported by IGMPv2."
        ::= { swIGMPSnoopingGroupEntry 10 }
-- -----------------------------------------------------------------------------
--  swL2IGMPDynIpMultMgmt    OBJECT IDENTIFIER ::= { swL2IGMPMgmt 12  }
-- -----------------------------------------------------------------------------
swL2IGMPDynIpMultMgmt    OBJECT IDENTIFIER ::= { swL2IGMPMgmt 12 }

    swL2IGMPDynIPMultMaxEntry OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object specifies the maximum number of entries which can be learned by dynamic IP multicast"
        ::= { swL2IGMPDynIpMultMgmt 1 }
   
  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 address specified in swL2IGMPSnoopingClearDynIpMultIP
            		    in the VLAN specified in swIGMPSnoopingClearDynIpMultVID.
            "
        ::= { swL2IGMPSnoopingClearDynIpMult 3 }

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

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

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

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

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

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

    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 {
				enabled(1),
				disabled(2)
		}
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "This object denotes the status of IGMP Access Authentication of the port."
       ::= { swL2IGMPAccessAuthEntry 2 }
-- -----------------------------------------------------------------------------
--  swL2IGMPCountrInfoMgmt    OBJECT IDENTIFIER ::= { swL2IGMPMgmt 14  }
-- -----------------------------------------------------------------------------
     swL2IGMPCountrInfoMgmt    OBJECT IDENTIFIER ::= { swL2IGMPMgmt 14 }

     swL2IGMPSnoopingClearStatisticsCounter  OBJECT-TYPE
        SYNTAX  INTEGER
                {
                  other(1),
                  start(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
               "This object is used to clear the IGMP snooping statistics counter."
        ::={swL2IGMPCountrInfoMgmt 1}

-- -----------------------------------------------------------------------------
--  swL2IGMPVlanCounterInfoTable       OBJECT IDENTIFIER ::= { swL2IGMPCountrInfoMgmt 2 }
-- -----------------------------------------------------------------------------
    swL2IGMPVlanCounterInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPVlanCounterInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contains the current number of IGMP query packets which
            are captured by this device, as well as the IGMP query packets
            sent by the device, based on VLAN."
        ::= { swL2IGMPCountrInfoMgmt 2 }

    swL2IGMPVlanCounterInfoEntry OBJECT-TYPE
        SYNTAX      SwL2IGMPVlanCounterInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about current IGMP query information, provided that
            swL2DevCtrlIGMPSnooping and swL2IGMPCtrState of the associated VLAN
            entries are all enabled."
        INDEX  { swL2IGMPVlanCounterInfoVid }
        ::= { swL2IGMPVlanCounterInfoTable 1 }

    SwL2IGMPVlanCounterInfoEntry ::=
        SEQUENCE {
            swL2IGMPVlanCounterInfoVid
                INTEGER,
            swL2IGMPVlanCounterGroupNumber
                INTEGER,
            swL2IGMPVlanQueryCountV1
                Counter,
            swL2IGMPVlanQueryCountV2
                Counter,
            swL2IGMPVlanQueryCountV3
                Counter,
            swL2IGMPVlanDropQueryCount
                Counter,
            swL2IGMPVlanReportCountV1
                Counter,
            swL2IGMPVlanReportCountV2
                Counter,
            swL2IGMPVlanReportCountV3
                Counter,
            swL2IGMPVlanLeaveCountV2
                Counter,
            swL2IGMPVlanDropedReportAndLeaveCount
                Counter,
            swL2IGMPVlanDroppedByMaxGroupLimitation
                Counter,
            swL2IGMPVlanDroppedByGroupFilter
                Counter,
            swL2IGMPVlanTxQueryCountV1
                Counter,
            swL2IGMPVlanTxQueryCountV2
                Counter,
            swL2IGMPVlanTxQueryCountV3
                Counter,
            swL2IGMPVlanTxReportCountV1
                Counter,
            swL2IGMPVlanTxReportCountV2
                Counter,
            swL2IGMPVlanTxReportCountV3
                Counter,
            swL2IGMPVlanTxLeaveCountV2
                Counter
        }

    swL2IGMPVlanCounterInfoVid OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        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 the
            IGMP control table (swL2IGMPCtrlTable)."
        ::= { swL2IGMPVlanCounterInfoEntry 1 }
        
    swL2IGMPVlanCounterGroupNumber OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The group number on a per VLAN basis."
        ::= { swL2IGMPVlanCounterInfoEntry 2 }
        
    swL2IGMPVlanQueryCountV1 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of query packets received
            since the IGMP function was enabled, on a per-VLAN basis, for IGMPv1."
        ::= { swL2IGMPVlanCounterInfoEntry 3 }

    swL2IGMPVlanQueryCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of query packets received
            since the IGMP function was enabled, on a per-VLAN basis, for IGMPv2."
        ::= { swL2IGMPVlanCounterInfoEntry 4 }
        
    swL2IGMPVlanQueryCountV3 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of query packets received
            since the IGMP function was enabled, on a per-VLAN basis, for IGMPv3."
        ::= { swL2IGMPVlanCounterInfoEntry 5 }
        
    swL2IGMPVlanDropQueryCount OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of query packets dropped
            since the IGMP function was enabled, on a per-VLAN basis."
        ::= { swL2IGMPVlanCounterInfoEntry 6 }

    swL2IGMPVlanReportCountV1 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of report packets received
            since the IGMP function was enabled, on a per-VLAN basis, for IGMPv1."
        ::= { swL2IGMPVlanCounterInfoEntry 7 }
        
    swL2IGMPVlanReportCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of report packets received
            since the IGMP function was enabled, on a per-VLAN basis, for IGMPv2."
        ::= { swL2IGMPVlanCounterInfoEntry 8 }
        
    swL2IGMPVlanReportCountV3 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of report packets received
            since the IGMP function was enabled, on a per-VLAN basis, for IGMPv3."
        ::= { swL2IGMPVlanCounterInfoEntry 9 }
        
    swL2IGMPVlanLeaveCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of leave packets received
            since the IGMP function was enabled, on a per-VLAN basis, for IGMPv2."
        ::= { swL2IGMPVlanCounterInfoEntry 10 }
        
    swL2IGMPVlanDropedReportAndLeaveCount OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of report and leave packets
            dropped since the IGMP function was enabled, on a per-VLAN basis."
        ::= { swL2IGMPVlanCounterInfoEntry 11 }
        
    swL2IGMPVlanDroppedByMaxGroupLimitation OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of packets received
            dropped by max group limitation since the IGMP function was enabled,
            on a per-VLAN basis."
        ::= { swL2IGMPVlanCounterInfoEntry 12 }

    swL2IGMPVlanDroppedByGroupFilter OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of packets  received
            dropped by group filter since the IGMP function was enabled,
            on a per-VLAN basis."
        ::= { swL2IGMPVlanCounterInfoEntry 13 }

    swL2IGMPVlanTxQueryCountV1 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP query messages, on a
            per-VLAN basis, for IGMPv1. "
        ::= { swL2IGMPVlanCounterInfoEntry 14 }

   swL2IGMPVlanTxQueryCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP query messages, on a
            per-VLAN basis, for IGMPv2. "
        ::= { swL2IGMPVlanCounterInfoEntry 15 }
        
    swL2IGMPVlanTxQueryCountV3 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP query messages, on a
            per-VLAN basis, for IGMPv3. "
        ::= { swL2IGMPVlanCounterInfoEntry 16 }
        
    swL2IGMPVlanTxReportCountV1 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP report messages, on a
            per-VLAN basis, for IGMPv1. "
        ::= { swL2IGMPVlanCounterInfoEntry 17 }
        
    swL2IGMPVlanTxReportCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP report messages, on a
            per-VLAN basis, for IGMPv2. "
        ::= { swL2IGMPVlanCounterInfoEntry 18 }
        
    swL2IGMPVlanTxReportCountV3 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP report messages, on a
            per-VLAN basis, for IGMPv3. "
        ::= { swL2IGMPVlanCounterInfoEntry 19 }
        
    swL2IGMPVlanTxLeaveCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP leave messages, on a
            per-VLAN basis, for IGMPv2. "
        ::= { swL2IGMPVlanCounterInfoEntry 20 }
        

-- -----------------------------------------------------------------------------
--  swL2IGMPPortCounterInfoTable       OBJECT IDENTIFIER ::= { swL2IGMPCountrInfoMgmt 3 }
-- -----------------------------------------------------------------------------
    swL2IGMPPortCounterInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPPortCounterInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table contains the current number of IGMP query packets which
            are captured by this device, as well as the IGMP query packets
            sent by the device, based on port."
        ::= { swL2IGMPCountrInfoMgmt 3 }

    swL2IGMPPortCounterInfoEntry OBJECT-TYPE
        SYNTAX      SwL2IGMPPortCounterInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about current IGMP query information, provided that
            swL2DevCtrlIGMPSnooping and swL2IGMPCtrState of the associated VLAN
            entries are all enabled."
        INDEX  { swL2IGMPPortCounterInfoIndex }
        ::= { swL2IGMPPortCounterInfoTable 1 }

    SwL2IGMPPortCounterInfoEntry ::=
        SEQUENCE {
            swL2IGMPPortCounterInfoIndex
                INTEGER,
            swL2IGMPPortCounterGroupNumber
                INTEGER,
            swL2IGMPPortQueryCountV1
                Counter,
            swL2IGMPPortQueryCountV2
                Counter,
            swL2IGMPPortQueryCountV3
                Counter,
            swL2IGMPPortDropQueryCount
                Counter,
            swL2IGMPPortReportCountV1
                Counter,
            swL2IGMPPortReportCountV2
                Counter,
            swL2IGMPPortReportCountV3
                Counter,
            swL2IGMPPortLeaveCountV2
                Counter,
            swL2IGMPPortDropedReportAndLeaveCount
                Counter,
            swL2IGMPPortDroppedByMaxGroupLimitation
                Counter,
            swL2IGMPPortDroppedByGroupFilter
                Counter,
            swL2IGMPPortTxQueryCountV1
                Counter,
            swL2IGMPPortTxQueryCountV2
                Counter,
            swL2IGMPPortTxQueryCountV3
                Counter,
            swL2IGMPPortTxReportCountV1
                Counter,
            swL2IGMPPortTxReportCountV2
                Counter,
            swL2IGMPPortTxReportCountV3
                Counter,
            swL2IGMPPortTxLeaveCountV2
                Counter
        }

    swL2IGMPPortCounterInfoIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port number of the associated IGMP Counter
            info table entry. "
        ::= { swL2IGMPPortCounterInfoEntry 1 }
        
    swL2IGMPPortCounterGroupNumber OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Group number per port."
        ::= { swL2IGMPPortCounterInfoEntry 2 }

    swL2IGMPPortQueryCountV1 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of query packets received
            since the IGMP function was enabled, on a per-port basis, for IGMPv1."
        ::= { swL2IGMPPortCounterInfoEntry 3 }

    swL2IGMPPortQueryCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of query packets received
            since the IGMP function was enabled, on a per-port basis, for IGMPv2."
        ::= { swL2IGMPPortCounterInfoEntry 4 }

    swL2IGMPPortQueryCountV3 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of query packets received
            since the IGMP function was enabled, on a per-port basis, for IGMPv3."
        ::= { swL2IGMPPortCounterInfoEntry 5 }

    swL2IGMPPortDropQueryCount OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of query packets dropped
            since the IGMP function was enabled, on a per-port basis."
        ::= { swL2IGMPPortCounterInfoEntry 6 }

    swL2IGMPPortReportCountV1 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of report packets received
            since the IGMP function was enabled, on a per-port basis, for IGMPv1."
        ::= { swL2IGMPPortCounterInfoEntry 7 }

    swL2IGMPPortReportCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of report packets received
            since the IGMP function was enabled, on a per-port basis, for IGMPv2."
        ::= { swL2IGMPPortCounterInfoEntry 8 }

    swL2IGMPPortReportCountV3 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of report packets received
            since the IGMP function was enabled, on a per-port basis, for IGMPv3."
        ::= { swL2IGMPPortCounterInfoEntry 9 }

    swL2IGMPPortLeaveCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of leave packets received
            since the IGMP function was enabled, on a per-port basis, for IGMPv2."
        ::= { swL2IGMPPortCounterInfoEntry 10 }

    swL2IGMPPortDropedReportAndLeaveCount OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of report and leave packets
            dropped since the IGMP function was enabled, on a per-port basis."
        ::= { swL2IGMPPortCounterInfoEntry 11 }

    swL2IGMPPortDroppedByMaxGroupLimitation OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of packets received
            dropped by max group limitation since the IGMP function was enabled,
            on a per-port basis."
        ::= { swL2IGMPPortCounterInfoEntry 12 }

    swL2IGMPPortDroppedByGroupFilter OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of packets  received
            dropped by group filter since the IGMP function was enabled,
            on a per-port basis."
        ::= { swL2IGMPPortCounterInfoEntry 13 }

    swL2IGMPPortTxQueryCountV1 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP query messages, on a
            per-port basis, for IGMPv1. "
        ::= { swL2IGMPPortCounterInfoEntry 14 }

   swL2IGMPPortTxQueryCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP query messages, on a
            per-port basis, for IGMPv2. "
        ::= { swL2IGMPPortCounterInfoEntry 15 }

    swL2IGMPPortTxQueryCountV3 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP query messages, on a
            per-port basis, for IGMPv3. "
        ::= { swL2IGMPPortCounterInfoEntry 16 }

    swL2IGMPPortTxReportCountV1 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP report messages, on a
            per-port basis, for IGMPv1. "
        ::= { swL2IGMPPortCounterInfoEntry 17 }

    swL2IGMPPortTxReportCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP report messages, on a
            per-port basis, for IGMPv2. "
        ::= { swL2IGMPPortCounterInfoEntry 18 }

    swL2IGMPPortTxReportCountV3 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP report messages, on a
            per-port basis, for IGMPv3. "
        ::= { swL2IGMPPortCounterInfoEntry 19 }

    swL2IGMPPortTxLeaveCountV2 OBJECT-TYPE
        SYNTAX  Counter
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP leave messages, on a
            per-port basis, for IGMPv2. "
        ::= { swL2IGMPPortCounterInfoEntry 20 }


-- -----------------------------------------------------------------------------
--  swL2IGMPRouterIPAddressTable       OBJECT IDENTIFIER ::= { swL2IGMPMgmt 15 }
-- -----------------------------------------------------------------------------
    swL2IGMPRouterIPAddressTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPRouterIPAddressEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table indicates the router IP address of the associated IGMP
            Router Port Table (swL2IGMPRouterPortTable)."
        ::= { swL2IGMPMgmt 15 }

    swL2IGMPRouterIPAddressEntry OBJECT-TYPE
        SYNTAX  SwL2IGMPRouterIPAddressEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about current router IP address in the IGMP
            Router Port Table (swL2IGMPRouterPortTable)."
        INDEX  { swL2IGMPRouterIPAddressVid , swL2IGMPRouterIPAddress}
        ::= { swL2IGMPRouterIPAddressTable 1 }

    SwL2IGMPRouterIPAddressEntry ::=
        SEQUENCE {
            swL2IGMPRouterIPAddressVid
                INTEGER,
            swL2IGMPRouterIPAddress
                IpAddress
        }

    swL2IGMPRouterIPAddressVid OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VID of the associated IGMP Router Port
            Table (swL2IGMPRouterPortTable)."
        ::= { swL2IGMPRouterIPAddressEntry 1 }
        
    swL2IGMPRouterIPAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the Router IP address of the associated IGMP
            Router Port Table. "
        ::= { swL2IGMPRouterIPAddressEntry 2 }

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

    swL2IGMPSnoopingStaticGroupEntry OBJECT-TYPE
        SYNTAX  SwL2IGMPSnoopingStaticGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about current IGMP snooping static group information captured by
	the device."
        INDEX  { swL2IGMPSnoopingStaticGroupVID , swL2IGMPSnoopingStaticGroupIPaddress}
        ::= { swL2IGMPSnoopingStaticGroupTable 1 }

    SwL2IGMPSnoopingStaticGroupEntry ::=
        SEQUENCE {
            swL2IGMPSnoopingStaticGroupVID
                INTEGER,
            swL2IGMPSnoopingStaticGroupIPaddress
                IpAddress,
            swL2IGMPSnoopingStaticGroupMemberPortList
                PortList,
            swL2IGMPSnoopingStaticGroupRowStatus
                RowStatus
        }

    swL2IGMPSnoopingStaticGroupVID OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VID of the current IGMP snooping static group."
        ::= { swL2IGMPSnoopingStaticGroupEntry 1 }

    swL2IGMPSnoopingStaticGroupIPaddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the current IGMP snooping static group IP address. "
        ::= { swL2IGMPSnoopingStaticGroupEntry 2 }

    swL2IGMPSnoopingStaticGroupMemberPortList OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the current IGMP snooping static group Member Portlist. "
        ::= { swL2IGMPSnoopingStaticGroupEntry 3 }

    swL2IGMPSnoopingStaticGroupRowStatus OBJECT-TYPE
    	SYNTAX RowStatus
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
		"This object indicates the status of this entry."
	::={swL2IGMPSnoopingStaticGroupEntry 4}	
	      
-- -----------------------------------------------------------------------------
--  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 specific to 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 (0..255)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object decides how many thousand broadcast/multicast packets 
            per second (depending on swL2TrafficCtrlBcastStromCtrl, swL2TrafficCtrlMcastStromCtrl 
            or swL2TrafficCtrlDlfStromCtrl objects being enabled) will activate 
            the storm control function. 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 restart 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 if 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 if 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 if the destination lookup fail function is 
           enabled or disabled." 
        ::= { swL2TrafficCtrlEntry 6 }


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

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

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

    swL2TrafficSegPort OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The port number of the logical port."
        ::= { swL2TrafficSegEntry 1 }
        
    swL2TrafficSegForwardPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "The port list where a specific port can forward traffic."
        ::= { swL2TrafficSegEntry 2 }
  
  
-- -----------------------------------------------------------------------------
--  swL2StpMgmt                 OBJECT IDENTIFIER ::= { swL2MgmtMIB 15 }
-- -----------------------------------------------------------------------------
	
    swL2StpForwardBPDU OBJECT-TYPE
	SYNTAX  INTEGER {
           other(1),
           disabled(2),
           enabled(3)
           }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Indicates whether or not 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 loopback prevention on the device is turned on."
       ::= { swL2StpMgmt 2 }
        
      
    swL2StpLbdRecoverTime OBJECT-TYPE
   	SYNTAX  INTEGER (0..1000000)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
           "The time period set between the checking intervals of the BPDU loop. 
           Configuring this time as 0 disables loopback checking."
        ::= { 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
	  "Used to enable or disable the loopback function on the specified 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 is enabled, this defines the port's current state as 
          defined by the Spanning Tree Protocol. If 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."
        ::= { 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 is enabled, this defines the port's current port role 
	    as defined by the Spanning Tree Protocol. If the PortEnable is disabled, 
	    the port status will be nonstp. If the port is in error loopback status, 
	    the port role will be loopback."
        ::= { swL2StpPortEntry 4 }		 

     swL2StpPortFBPDU OBJECT-TYPE
      	SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The enable/disable status of the BPDU filtering mechanism as related 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)
             to this object forces this port to transmit RSTP BPDUs.
             Any other operation on this object has no effect and
              it always returns a FALSE message 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 to FALSE on reception of
             a BPDU packet."
        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 aggregated, 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) --INTEGER (0..65535)
        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."                  
        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
            "Used to describe the enable/disable state of the loopback 
            prevention function on a per-port basis."
        ::= { swL2StpPortEntry 14 }
 
-- ----------------------------------------------------------------------------
--  swL2MulticastFilterMode	OBJECT IDENTIFIER ::= { swL2MgmtMIB 17 }
-- ----------------------------------------------------------------------------
     swL2MulticastFilterModeVlanTable OBJECT-TYPE
     	SYNTAX SEQUENCE OF SwL2MulticastFilterModeVlanEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
		" A table that contains information about the VLAN multicast filter mode."
	::={swL2MulticastFilterMode 1}
     
     swL2MulticastFilterModeVlanEntry OBJECT-TYPE
     	SYNTAX SwL2MulticastFilterModeVlanEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
     		"A list of multicast filter mode information for each VLAN. "
     	INDEX {swL2MulticastFilterVid}
     	::={swL2MulticastFilterModeVlanTable 1}
     
     SwL2MulticastFilterModeVlanEntry ::=
     	SEQUENCE{
     	swL2MulticastFilterVid
     		INTEGER,
     	swL2MulticastFilterVlanMode
     		INTEGER
     	}
 
     swL2MulticastFilterVid OBJECT-TYPE
    	SYNTAX INTEGER(1..65535)
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
    		"Indicates the VID for each VLAN."
	::={swL2MulticastFilterModeVlanEntry 1}
	
    swL2MulticastFilterVlanMode OBJECT-TYPE
    	SYNTAX INTEGER{
    	forward-all-groups(1),
    	forward-unregistered-groups(2),
    	filter-unregistered-groups(3)
    	} 
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"Specifies the multicast filter mode for each VLAN."
    	::={swL2MulticastFilterModeVlanEntry 2}
    
-- ----------------------------------------------------------------------------    	
    	swL2MulticastFilterModePortTable OBJECT-TYPE
     	SYNTAX SEQUENCE OF SwL2MulticastFilterModePortEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
		" A table that contains information about the port multicast filter mode."
     ::={swL2MulticastFilterMode 2}
     
     swL2MulticastFilterModePortEntry OBJECT-TYPE
     	SYNTAX SwL2MulticastFilterModePortEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
     		"A list of multicast filter mode information for each port. "
	INDEX {swL2MulticastFilterPortIndex}
     	::={swL2MulticastFilterModePortTable 1}
     
     SwL2MulticastFilterModePortEntry ::=
     	SEQUENCE{
	swL2MulticastFilterPortIndex
     		INTEGER,
     	swL2MulticastFilterPortMode
     		INTEGER
     	}
 
     swL2MulticastFilterPortIndex OBJECT-TYPE
    	SYNTAX INTEGER(1..65535)
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"Specifies the port number."
	::={swL2MulticastFilterModePortEntry 1}
	
     swL2MulticastFilterPortMode OBJECT-TYPE
    	SYNTAX INTEGER{
    		forward-all-groups(1),
    		forward-unregistered-groups(2),
    		filter-unregistered-groups(3)
    	} 
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
		"Specifies multicast filter mode for each port."
    	::={swL2MulticastFilterModePortEntry 2} 	
    -- ----------------------------------------------------------------------------
--  swL2LoopDetectMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 18 }
-- ----------------------------------------------------------------------------

    swL2LoopDetectCtrl           OBJECT IDENTIFIER ::= { swL2LoopDetectMgmt 1 }

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

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

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

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

-- ----------------------------------------------------------------------------
    swL2LoopDetectPortMgmt       OBJECT IDENTIFIER ::= { swL2LoopDetectMgmt 2 }

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

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

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

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

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

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

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

-- -----------------------------------------------------------------------------
--  Layer 2  Trap
-- -----------------------------------------------------------------------------
     
        
	swL2Notify	OBJECT IDENTIFIER ::= { swL2MgmtMIBTraps 1 }  
	  
	swL2NotifyMgmt		OBJECT IDENTIFIER ::= { swL2Notify 1 }  
	swL2NotifyPrefix	OBJECT IDENTIFIER ::= { swL2Notify 2 }  
	
	swL2NotifFirmware OBJECT IDENTIFIER ::= { swL2NotifyPrefix 0 }  
	

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

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

    swL2PortSecurityViolationTrap NOTIFICATION-TYPE
        OBJECTS { 
        			swPortSecPortIndex,
        		  	swL2PortSecurityViolationMac        					
                }        
        STATUS  current
        DESCRIPTION
            "When the port_security trap is enabled, new MAC addresses that violate 
            the pre-defined port security configuration will trigger trap messages 
            to be sent out."              
        ::= { swL2NotifFirmware 2 } 
         
    swL2PortLoopOccurred  NOTIFICATION-TYPE
        OBJECTS
             {
                swL2LoopDetectPortIndex
             }
        STATUS current
        DESCRIPTION
               "The trap is sent when a Port loop occurs."
        ::={swL2NotifFirmware 3}

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

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

    swL2VlanLoopRestart NOTIFICATION-TYPE
        OBJECTS
             {
                swL2LoopDetectPortIndex,
                swL2VlanLoopDetectVID
             }
        STATUS current
        DESCRIPTION
               "The trap is sent when a Port with a VID loop restarts after the interval time."
        ::={swL2NotifFirmware 6}
-- -----------------------------------------------------------------------------
--	notificationBidings
-- -----------------------------------------------------------------------------
	 
    swl2NotificationBidings OBJECT IDENTIFIER ::= { swL2NotifyPrefix 1 }
                
    swL2macNotifyInfo   OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE (0..1024))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates information about the last time the system rebooted."
        ::= { swl2NotificationBidings 1 }
       
    swL2PortSecurityViolationMac OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  accessible-for-notify
        STATUS  current
        DESCRIPTION
            "This object indicates the MAC address that violated the port security configuration."
        ::= { swl2NotificationBidings 2 } 
        
    swL2VlanLoopDetectVID OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS  accessible-for-notify
        STATUS current
        DESCRIPTION
             "This object indicates the VID that detected a loopback."
        ::= { swl2NotificationBidings 3 }
END
