-- -----------------------------------------------------------------------------
-- MIB NAME : DGS-3620-52T L2MGMT mib
-- FILE NAME: L2mgmtDgs3620-52T.mib
-- DATE     : 2012/12/10
-- VERSION  : 1.18
-- PURPOSE  : To construct the MIB structure of L2MGMT
-- -----------------------------------------------------------------------------
-- MODIFICTION HISTORY:
-- -----------------------------------------------------------------------------
-- Version 1.18 2012/12/10 Rondom Ren
-- Description:
-- [New Object]
-- add value list to "oam-unidirectional-link in swL2PortInfoErrorDisabled.

-- Version 1.17
-- 2012/11/27
-- Request By Oran Tang for project DGS3620 R2.5
-- [New Object]
-- 1.Add table "swL2PortDropCounterTable" to display received error 
-- statistics information, including "Buffer Full Drop",""ACL Drop",
-- "Multicast Drop","VLAN Ingress Drop","invalid IPv6","STP Drop",
-- "Storm and Table Discarded", "MTU Drop" on ingress ports.
-- 2.Add table "swL2PortStatisTable" to display the statistics information 
-- about the received and sent packets whose length are from 1519 bytes
-- to 9216 bytes.
-- 3.Add table "swL2PortTXDropCounterTable" to display sent error statistics
-- information, including "HoL drop", "CoS drop", "STP drop" on egress ports.

-- Version 1.16 2012/10/30 Rondom Ren
-- Description:
-- [Modification]
-- Update swL2PortSfpInformationTable.

-- Version 1.15 2012/09/11 Rondom Ren
-- Description:
-- [New Object]
-- Add swL2PortSfpInformationTable.

-- Version 1.14 2012/09/05 Wesley Wang
-- Description:
-- [New Object]
-- Add swL2IGMPAccessAuthTable.
 
-- Version 1.13, 2012/08/10 Rondom Ren
-- Description:
-- [New Object]
-- add value list "power-saving(7)" in swL2PortInfoErrorDisabled

-- Version 1.12, 2010/11/15, Jack Wei-- Description:
--  [Modification]
-- Add swL2DevCtrlCFMMaTable and swL2DevCtrlCFMMepTable to support CFM hardware mode.

-- Version 1.11, 2010/10/13, Jok Long-- Description:
--  [Modification]
-- Update the module name   

-- Version 1.10, 2010/07/29, Liang Feng
-- Description:
--  [Modification]
-- Delete object swVlanPrecedenceTable, swSubnetVLANTable, they are supported in SubnetVLAN.mib

-- Version 1.09, 2010/07/16, Easion Tang
-- Description:
--  [Modification]
-- Delete object swL2DhcpLocalRelayMgmt, it's supported in DHCPRelay.mib

-- Version 1.08, 2010/03/18, Phoenix Xie
-- Description:
--  [Modification]
--    1.Delete swL2MulticastFilterModePortTable, as it is no longer supported.

-- Version 1.07, 2010/03/12, Phoenix Xie
-- Description:
--  [Modification]
--    1.Delete swL2LimitedMulticastMgmt Nodes,which is already  supported by McastFilter.mib.
--    2.Delete swL2IGMPMgmt Nodes, which is already supported by McastSnooping.mib.

-- Version 1.06, 2010/03/12, Easion Tang
-- Description:
--  [Modification]
--    Delete swL2DhcpRelayMgmt nodes, it's supported by swDHCPRelayMIB.

-- Version 1.05, 2010/03/12, Robinson Yan
-- Description:
--  [Modification]
--    1.Delete QOS and Traffic management nodes.
--    2.Delete swL2DevCtrlIGMPSnooping, swL2DevCtrlIGMPSnoopingMcstRTOnly,
--		swL2DevCtrlRmonState.

-- Version 1.04, 2010/03/10, Robinson Yan
-- Description:
--  [Modification]
--    Delete object swL2TrunkName.

-- Version 1.03
-- 2010/03/03, Easion Tang
-- Add object swL2DhcpLocalRelayMgmt

-- Version 1.02, 2010/02/24, Shawn Chen
-- Description:
--  [Modification]
--    Delete swL2PortSecurityMgmt nodes, it's supported by swPortSecMIB.
 
-- Version 1.01, 2010/02/23, Robinson Yan
-- Description:
--  [Modification]
--    [1]Delete STP management nodes and loopback detection management nodes,
--       these nodes are supported by MSTP.mib and LBD.mib.

-- Version 1.00, 2010/02/09, jespersen cai
-- This is the first formal version for universal MIB definition.
-- -----------------------------------------------------------------------------

DGS-3620-52T-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      
		dlink-Dgs3620Proj-Dgs3620-52T			FROM SWDGS3620PRIMGMT-MIB
		swPortSecPortIndex						FROM PORT-SECURITY-MIB
		dot1agCfmMdIndex, dot1agCfmMaIndex, dot1agCfmMepIdentifier  FROM IEEE8021-CFM-MIB;
	    
	  swL2MgmtMIB MODULE-IDENTITY
	    LAST-UPDATED "1212100000Z"
	    ORGANIZATION "D-Link Corp."
	    CONTACT-INFO
	        "http://support.dlink.com"
	    DESCRIPTION
		    "The Structure of Layer 2 Network Management Information."
        ::= { dlink-Dgs3620Proj-Dgs3620-52T 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 }
--	swL2DhcpRelayMgmt			OBJECT IDENTIFIER ::= { swL2MgmtMIB 8 }
    swL2TrunkMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB 9 }
    swL2MirrorMgmt              OBJECT IDENTIFIER ::= { swL2MgmtMIB 10 }
    swL2IGMPMgmt                OBJECT IDENTIFIER ::= { swL2MgmtMIB 11 }
    swL2TrafficSegMgmt          OBJECT IDENTIFIER ::= { swL2MgmtMIB 14 }
    swL2MulticastFilterMode	OBJECT IDENTIFIER ::= { swL2MgmtMIB 17 }
--  swL2DhcpLocalRelayMgmt      OBJECT IDENTIFIER ::= { swL2MgmtMIB 24 }
    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 }

-- -----------------------------------------------------------------------------
    swL2DevCtrl             OBJECT IDENTIFIER ::= { swL2DevMgmt 2 }
        
    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 }

    swL2DevCtrlCFMMaTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwL2DevCtrlCFMMaEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing the CFM mode of specified MAs."
        ::= { swL2DevCtrlCFM 3 }

    swL2DevCtrlCFMMaEntry OBJECT-TYPE
        SYNTAX      SwL2DevCtrlCFMMaEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The entry of the CFM mode on specified MAs."
        INDEX   { dot1agCfmMdIndex, dot1agCfmMaIndex }
        ::= { swL2DevCtrlCFMMaTable 1 }

    SwL2DevCtrlCFMMaEntry ::=
        SEQUENCE {
            swL2DevCtrlCFMMaMode
                INTEGER
        }

    swL2DevCtrlCFMMaMode OBJECT-TYPE
        SYNTAX  INTEGER {
                software(1),
                hardware(2)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the CFM mode by MA."
        ::= { swL2DevCtrlCFMMaEntry 1 }

    swL2DevCtrlCFMMepTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwL2DevCtrlCFMMepEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing the CFM mode of specified MEPs."
        ::= { swL2DevCtrlCFM 4 }

    swL2DevCtrlCFMMepEntry OBJECT-TYPE
        SYNTAX      SwL2DevCtrlCFMMepEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The entry of the CFM mode on specified MEPs."
        INDEX   { dot1agCfmMdIndex, 
                  dot1agCfmMaIndex, 
                  dot1agCfmMepIdentifier
                }
        ::= { swL2DevCtrlCFMMepTable 1 }

    SwL2DevCtrlCFMMepEntry ::=
        SEQUENCE {
            swL2DevCtrlCFMMepMode
                INTEGER
        }

    swL2DevCtrlCFMMepMode OBJECT-TYPE
        SYNTAX  INTEGER {
                software(1),
                hardware(2)
            }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the CFM mode by MEP."
        ::= { swL2DevCtrlCFMMepEntry 1 }

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

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

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

    swL2PortInfoNwayStatus OBJECT-TYPE
        SYNTAX  INTEGER {
               link-down(0),
               full-10Mbps-8023x(1),
               full-10Mbps-none(2),
               half-10Mbps-backp(3),
               half-10Mbps-none(4),
               full-100Mbps-8023x(5),
               full-100Mbps-none(6),
               half-100Mbps-backp(7),
               half-100Mbps-none(8),
               full-1Gigabps-8023x(9),
               full-1Gigabps-none(10),
               half-1Gigabps-backp(11),
               half-1Gigabps-none(12),
               full-10Gigabps-8023x(13),
               full-10Gigabps-none(14),
               half-10Gigabps-8023x(15),
               half-10Gigabps-none(16),
               empty(17),
               err-disabled(18)
               }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port speed and duplex mode."
        ::= { swL2PortInfoEntry 6 }

    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),
               oam-unidirectional-link(11)
               }
        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
            }

    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 }



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


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

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

    SwL2PortDropCounterEntry ::= 
        SEQUENCE {
            swL2PortDropCounterPortIndex 
                INTEGER,
           swL2PortBufferFullDrops 
	Counter,
           swL2PortACLDrops
	Counter,
           swL2PortMulticastDrops
	Counter,
           swL2PortVLANIngressDrops
	Counter,   
           swL2PortInvalidIPv6Drops
	Counter,   
           swL2PortSTPDrops
	Counter,   
           swL2PortStormAndFDBDiscard
	Counter,   
           swL2PortMTUDrops
	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 input buffer full."
    	::= { swL2PortDropCounterEntry 2 }

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

    swL2PortMulticastDrops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The total number of received 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 } 
    	
    swL2PortInvalidIPv6Drops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The total number of packets discarded by IPv6 L3"
    	::= { swL2PortDropCounterEntry 7 }


    swL2PortSTPDrops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The total number of packets discarded when ingress 
	            port is not in forwarding state."
    	::= { swL2PortDropCounterEntry 8 }


    swL2PortStormAndFDBDiscard OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The total number of packets discarded by receiving policy
                     (i.e. DST_DISCARD, SRC_DISCARD,RATE_CONTROL, etc.)"
    	::= { swL2PortDropCounterEntry 9 }


    swL2PortMTUDrops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The total number of packets discarded by frames received, which 
                    exceeds Maximum Frame in length and contains a valid or invalid FCS."
    	::= { swL2PortDropCounterEntry 10 }


-- -----------------------------------------------------------------------------
-- 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,
            swL2PortJumboFrameCtrlPortState
	        INTEGER
        }

    swL2PortJumboFrameCtrlPortIndex 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)"
              ::= { swL2PortJumboFrameCtrlEntry 1 }

    swL2PortJumboFrameCtrlPortState OBJECT-TYPE
              SYNTAX  INTEGER {
                              other(1),
                              disabled(2),
                              enabled(3)
                              }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                   "This object indicates if the port's jumbo frame is enabled or disabled."
              ::= { swL2PortJumboFrameCtrlEntry 2 }

-- -----------------------------------------------------------------------------
-- swL2PortSfpInformationTable
-- -----------------------------------------------------------------------------
    swL2PortSfpInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2PortSfpInfoEntry 
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that contains information for each sfp pluged in port."
        ::= { swL2PortMgmt 11 }

    swL2PortSfpInfoEntry OBJECT-TYPE
        SYNTAX  SwL2PortSfpInfoEntry 
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information for each sfp pluged in port."
        INDEX   { swL2PortSfpInfoPortIndex }
        ::= { swL2PortSfpInfoTable 1 }

    SwL2PortSfpInfoEntry ::= 
        SEQUENCE {
            swL2PortSfpInfoPortIndex 
                INTEGER,
           swL2PortSfpInfoConnectType
           	DisplayString,
           swL2PortSfpInfoVendorName 
	        DisplayString,
           swL2PortSfpInfoVendorPN
		DisplayString,
           swL2PortSfpInfoVendorSN
		DisplayString,
           swL2PortSfpInfoVendorOUI
           	DisplayString,
           swL2PortSfpInfoVendorRev
           	DisplayString,
           swL2PortSfpInfoDateCode
           	DisplayString,
           swL2PortSfpInfoFiberType
           	DisplayString,
           swL2PortSfpInfoBaudRate
           	INTEGER,
           swL2PortSfpInfoWavelength
           	INTEGER
        }

    swL2PortSfpInfoPortIndex 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)"
    	::= { swL2PortSfpInfoEntry 1 }

    swL2PortSfpInfoConnectType OBJECT-TYPE
	    SYNTAX  DisplayString(SIZE (1..10))
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The ConnectType of sfp informaiton."
    	::= { swL2PortSfpInfoEntry 2 }
    swL2PortSfpInfoVendorName OBJECT-TYPE
	    SYNTAX  DisplayString(SIZE (1..16))
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The vendor name of sfp informaiton."
    	::= { swL2PortSfpInfoEntry 3 }

    swL2PortSfpInfoVendorPN OBJECT-TYPE
	    SYNTAX  DisplayString(SIZE (1..16))
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The vendor PN of sfp informaiton."
    	::= { swL2PortSfpInfoEntry 4 }

    swL2PortSfpInfoVendorSN OBJECT-TYPE
	    SYNTAX  DisplayString(SIZE (1..16))
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The vendor SN of sfp informaiton."
    	::= { swL2PortSfpInfoEntry 5 }

    swL2PortSfpInfoVendorOUI OBJECT-TYPE
	    SYNTAX  DisplayString(SIZE (1..6))
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The vendor OUI of sfp information."
    	::= { swL2PortSfpInfoEntry 6 }
   swL2PortSfpInfoVendorRev OBJECT-TYPE
	    SYNTAX  DisplayString(SIZE (1..4))
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The vendor Rev of sfp information."
    	::= { swL2PortSfpInfoEntry 7 }
   swL2PortSfpInfoDateCode OBJECT-TYPE
	    SYNTAX  DisplayString(SIZE (1..8))
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The date code of sfp information."
    	::= { swL2PortSfpInfoEntry 8 }
   swL2PortSfpInfoFiberType OBJECT-TYPE
	    SYNTAX  DisplayString(SIZE (1..25))
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The fiber type of sfp information."
    	::= { swL2PortSfpInfoEntry 9 }
   swL2PortSfpInfoBaudRate OBJECT-TYPE
	    SYNTAX  INTEGER (0..65535)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The baud rate  of sfp information."
    	::= { swL2PortSfpInfoEntry 10 }
   swL2PortSfpInfoWavelength OBJECT-TYPE
	    SYNTAX  INTEGER (0..65535)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "The wavelength of sfp information."
    	::= { swL2PortSfpInfoEntry 11 }
-- -----------------------------------------------------------------------------
-- swL2PortStatisTable
-- -----------------------------------------------------------------------------
    swL2PortStatisTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2PortStatisEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that contains information for each port statis counter."
        ::= { swL2PortMgmt 12 }

    swL2PortStatisEntry OBJECT-TYPE
        SYNTAX  SwL2PortStatisEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of statis information for each port."
        INDEX   { swL2PortStatisPortIndex }
        ::= { swL2PortStatisTable 1 }

    SwL2PortStatisEntry ::=
        SEQUENCE {
            swL2PortStatisPortIndex
                INTEGER,
           swL2PortStatisPkts1519to1522Octets
	Counter,
           swL2PortStatisPkts1519to2047Octets
	Counter,
           swL2PortStatisPkts2048to4095Octets
	Counter,
           swL2PortStatisPkts4096to9216Octets
	Counter
        }

    swL2PortStatisPortIndex 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)"
    	::= { swL2PortStatisEntry 1 }

    swL2PortStatisPkts1519to1522Octets OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Receive and Transmit 1519 to 1522 Byte Good VLAN Frame Counter
		incremented for each good VLAN(excludes FCS errors) frame received,
		which is 1519 to 1522 bytes in length, inclusive
		(excluding framing bits, but including FCS bytes)."
    	::= { swL2PortStatisEntry 2 }

    swL2PortStatisPkts1519to2047Octets  OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Receive and Transmit 1519 to 2047 Byte Frame Counter.
		Incremented for each good or bad frame
		(includes FCS, Symbol, and Length/Type error)."
    	::= { swL2PortStatisEntry 3 }

    swL2PortStatisPkts2048to4095Octets OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Receive and Transmit 2048 to 4095 Byte Frame Counter.
		Incremented for each good or bad frame
		(includes FCS, Symbol, and Length/Type error)."
    	::= { swL2PortStatisEntry 4 }

    swL2PortStatisPkts4096to9216Octets OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Receive and Transmit 4096 to 9216 Byte Frame Counter.
		Incremented for each good or bad frame
		(includes FCS, Symbol, and Length/Type error)."
    	::= { swL2PortStatisEntry 5 }
      


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

    swL2PortTXDropCounterEntry OBJECT-TYPE
        SYNTAX  SwL2PortTXDropCounterEntry 
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information for each port TX drop counter"
        INDEX   { swL2PortTXDropCounterPortIndex }
        ::= { swL2PortTXDropCounterTable 1 }

    SwL2PortTXDropCounterEntry ::= 
        SEQUENCE {
            swL2PortTXDropCounterPortIndex 
                INTEGER,
           swL2PortTXHOLDrops 
	Counter,
           swL2PortTXCOS0Drops
	Counter,
           swL2PortTXCOS1Drops
	Counter,
           swL2PortTXCOS2Drops
	Counter,
           swL2PortTXCOS3Drops
	Counter,
           swL2PortTXCOS4Drops
	Counter,
           swL2PortTXCOS5Drops
	Counter,
           swL2PortTXCOS6Drops
	Counter,
           swL2PortTXCOS7Drops
	Counter,
           swL2PortTXSTPDrops
	Counter
	    }

    swL2PortTXDropCounterPortIndex 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)"
    	::= { swL2PortTXDropCounterEntry 1 }

    swL2PortTXHOLDrops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Incremented for each Packet drop due to Head Of Line blocking"
    	::= { swL2PortTXDropCounterEntry 2 }

    swL2PortTXCOS0Drops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Incremented for each packet drop due to
                    Head of Line blocking of egress port COS0"
    	::= { swL2PortTXDropCounterEntry 3 }
 
     swL2PortTXCOS1Drops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Incremented for each packet drop due to
                    Head of Line blocking of egress port COS1"
    	::= { swL2PortTXDropCounterEntry 4 }
 
    swL2PortTXCOS2Drops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Incremented for each packet drop due to
                    Head of Line blocking of egress port COS2"
    	::= { swL2PortTXDropCounterEntry 5 }
 
     swL2PortTXCOS3Drops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Incremented for each packet drop due to
                    Head of Line blocking of egress port COS3"
    	::= { swL2PortTXDropCounterEntry 6 }
    	
    swL2PortTXCOS4Drops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Incremented for each packet drop due to
                    Head of Line blocking of egress port COS4"
    	::= { swL2PortTXDropCounterEntry 7 }
 
     swL2PortTXCOS5Drops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Incremented for each packet drop due to
                    Head of Line blocking of egress port COS5"
    	::= { swL2PortTXDropCounterEntry 8 }
    	
    swL2PortTXCOS6Drops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Incremented for each packet drop due to
                    Head of Line blocking of egress port COS6"
    	::= { swL2PortTXDropCounterEntry 9 }
 
     swL2PortTXCOS7Drops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Incremented for each packet drop due to
                    Head of Line blocking of egress port COS7"
    	::= { swL2PortTXDropCounterEntry 10 }    	    	
 
      swL2PortTXSTPDrops OBJECT-TYPE
	    SYNTAX  Counter
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	            "Incremented for packets dropped when egress port is
                    not in forwarding state"
    	::= { swL2PortTXDropCounterEntry 11 }    
    		
-- -----------------------------------------------------------------------------
--  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,
            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 }

    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 VLAN trunk."
        ::= { 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,
            swL2MirrorGroupLogicTargetPort
                INTEGER,
            swL2MirrorGroupPortSourceIngress
                PortList,
            swL2MirrorGroupPortSourceEngress
                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 depends on detail project.
            "
        ::= { swL2MirrorGroupEntry 1 }
        
    swL2MirrorGroupRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object manages this mirror group entry."
        ::= { swL2MirrorGroupEntry 2 }
        
    swL2MirrorGroupState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the mirror group state."
        ::= { swL2MirrorGroupEntry 3 }
        
    swL2MirrorGroupLogicTargetPort OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the mirror group target port."
        ::= { swL2MirrorGroupEntry 4 }

    swL2MirrorGroupPortSourceIngress OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the mirror group ingress source ports."
        ::= { swL2MirrorGroupEntry 5 }
        
    swL2MirrorGroupPortSourceEngress 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 }
-- -----------------------------------------------------------------------------
    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),
				auth_only(3),
				accounting_only(4)
		}
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "This object denotes the status of IGMP Access Authentication of the port.
            
            Note:
            enabled(1): Both the authentication and accounting functions are enabled, 
            after the client is authenticated, the accounting message will be sent 
            to Radius.
            
            disabled(2): Both the authentication and accounting functions are disabled.
            
            auth_only(3): Only the authentication function is enabled, after the client 
            is authenticated, accounting message will not be sent to Radius.
            
            accounting_only(4): Only the accounting function is enabled, authentication 
            is not needed, if the client joins a group, the accounting message will be 
            sent to Radius.
           "
       ::= { swL2IGMPAccessAuthEntry 2 }
-- -----------------------------------------------------------------------------
--  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 }
   
-- ----------------------------------------------------------------------------
--  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}
    
 
-- ------------------------------------------------------------------------
--  swL2DhcpLocalRelayMgmt        OBJECT IDENTIFIER ::= { swL2MgmtMIB 24 }
-- ------------------------------------------------------------------------
--  swL2DhcpLocalRelayState OBJECT-TYPE
--      SYNTAX  INTEGER {
--             other(1),
--             disabled(2),
--             enabled(3)
--             }
--      MAX-ACCESS  read-write
--      STATUS  current
--     DESCRIPTION
--          "This object indicates the status of the DHCP local relay
--          function of the switch."
--      ::= { swL2DhcpLocalRelayMgmt 1 }
--
--	swL2DhcpLocalRelayVLANTable OBJECT-TYPE
--     	SYNTAX SEQUENCE OF SwL2DhcpLocalRelayVLANEntry
--	    MAX-ACCESS not-accessible
--	    STATUS current
--	    DESCRIPTION
--	 		"This table is used to manage the DHCP local relay status
--	 		for each VLAN."
--	    ::={ swL2DhcpLocalRelayMgmt 2}
--	
--	    swL2DhcpLocalRelayVLANEntry OBJECT-TYPE
--	    SYNTAX SwL2DhcpLocalRelayVLANEntry
--	    MAX-ACCESS not-accessible
--	    STATUS current
--    DESCRIPTION
--	    	"This object lists the current VLANs in the switch and their
--	    	corresponding DHCP local relay status."
--		INDEX { swL2DhcpLocalRelayVLANID }
--	    ::={ swL2DhcpLocalRelayVLANTable 1 }
--
--    SwL2DhcpLocalRelayVLANEntry ::=
--     SEQUENCE{
--	swL2DhcpLocalRelayVLANID
--     	    INTEGER,
--     	swL2DhcpLocalRelayVLANState
--     	    INTEGER		
--     }
--
--  swL2DhcpLocalRelayVLANID OBJECT-TYPE
--      SYNTAX  INTEGER (1..4094)
--      MAX-ACCESS  read-only
--      STATUS  current
--      DESCRIPTION
--          "This object shows the VIDs of the current VLANS in the switch."
--      ::= { swL2DhcpLocalRelayVLANEntry 1 }
--
--  swL2DhcpLocalRelayVLANState OBJECT-TYPE
--      SYNTAX  INTEGER {
--             other(1),
--             disabled(2),
--             enabled(3)
--             }
--      MAX-ACCESS  read-write
--      STATUS  current
--      DESCRIPTION
--          "This object indicates the status of the DHCP relay function
--          of the VLAN."
--      ::= { swL2DhcpLocalRelayVLANEntry 2 }
        
-- -----------------------------------------------------------------------------
--  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 } 
         
-- -----------------------------------------------------------------------------
--	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 } 
        
  END
