-- firmware version 4.3
-- 2009/07.8
-- Request By Vic Li
-- [Modify Object]
-- [New Object]
-- add object sswL2DevCtrlVlanIdOfFDBTbl
--*****************************************************************************************
-- firmware version 4.3
-- 2009/05.31
-- Request By Wenxia yang
-- [Modify Object]
-- [New Object]
-- add object swL2DevCtrlLLDPState and swL2DevCtrlLLDPForwardMessageState
--*****************************************************************************************
-- firmware version 4.3
-- 2009/05.18
-- Request By Vic Li
-- [Modify Object]
-- [New Object]
-- add swL2IGMPRouterPortTable
--*****************************************************************************************
-- firmware version 4.3
-- 2008/12/24
-- Request By Robinson Yan for project DES30XXR4.3
-- [Modify Object]
-- Modify the range of the object "swL2StpPortAdminEdgePort" from TruthValue to (0-2)
-- [New Object]
-- add swL2STPPortRestrictedTCN,swL2STPPortRestrictedTCN in swL2StpPortTable
-- *****************************************************************************************
-- firmware version 4.2 
-- 2008/8/13
-- Request By Maxvel Li for project DES30XXR4.2
-- Added swL2TrunkVLANTable
-- Added swL2DevCtrlVLANTrunkState 
-- *****************************************************************************************
-- firmware version 4.2 2008/3/27 by Vic
-- Request By Vic Li for project DES30xxR4.2
-- [New Object]
-- add object swL2PortCtrlMDIXState in swL2PortCtrlTable
-- *****************************************************************************************
-- firmware version 4.01.001 2007/5/16 by Nic
-- 1.Add a node swL2QOS8021pRadiusPriority in swL2QOS8021pDefaultPriorityTable
-- 2.Add node swL2QOSBandwidthRadiusRxRate and swL2QOSBandwidthRadiusTxRate in swL2QOSBandwidthControlTable.
-- *****************************************************************************************
-- firmware version 4.00.004 2007/3/1 by Yan
-- 1.Modify the range of the object "swL2QOSSchedulingClassIndex" from (1-4) to (0-3)
-- 2.Add swL2LoopDetectMgmt.
-- *****************************************************************************************
-- D-Link Layer2 Switch Common MIB Ver 1.2                2001/10/03
--
--  LinkAggregation(port trunking) , Port Mirroring and IGMP

DES3026-L2MGMT-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        TEXTUAL-CONVENTION				FROM SNMPv2-TC
        MODULE-IDENTITY, OBJECT-TYPE, Unsigned32,	
        Integer32						FROM SNMPv2-SMI
        IpAddress           			FROM RFC1155-SMI
        RowStatus, TruthValue			        	FROM SNMPv2-TC
        DisplayString                   FROM RFC1213-MIB
        des3026				FROM DLINK-SWPRIMGMT-MIB;

	swL2MgmtMIB  MODULE-IDENTITY
	    LAST-UPDATED "0007150000Z"
	    ORGANIZATION "D-Link, Inc."
	    CONTACT-INFO
	        "   D-Link Customer Service

		    Postal: No. 20,Park Ave, II, Science-based
			        Industrial Park, Hsinchu, taiwan, R.O.C.

		       Tel: 886-3-577-9966

		    E-mail: "
	    DESCRIPTION
		    "The Structure of Common Management Information for 
		    making a trunk and IGMP related function for
		    D-Link devices."
		    ::= { des3026 2 }
		      
	VlanId					::= INTEGER (1..4094)
	PortList                ::= OCTET STRING(SIZE (0..127))	
	MacAddress ::= OCTET STRING (SIZE (6))    -- a 6 octet address
                                                  -- in the
                                                  -- "canonical"
                                                  -- order, copy from RFC1493
-- Textual Convention for PortList
-- Define the PortList, comes from RFC2674

	
    swL2DevMgmt				OBJECT IDENTIFIER ::= { swL2MgmtMIB  1 }
    swL2PortMgmt				OBJECT IDENTIFIER ::= { swL2MgmtMIB  2 }
    swL2QOSMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB  3 }
    swL2TrunkMgmt     		     OBJECT IDENTIFIER ::= { swL2MgmtMIB  4 }
--    lagMIBObjects                          OBJECT IDENTIFIER ::= { swL2MgmtMIB  5 }
    swPortMirrorPackage                  OBJECT IDENTIFIER ::= { swL2MgmtMIB  6 }
    swIGMPPackage                	     OBJECT IDENTIFIER ::= { swL2MgmtMIB  7 }	
--    swPortRatePackage			     OBJECT IDENTIFIER ::= { swL2MgmtMIB  8 }
   -- swPortBindingPackage                OBJECT IDENTIFIER ::= { swL2MgmtMIB  9 }
--    swPortBaseVlanMgmt                 OBJECT IDENTIFIER ::= { swL2MgmtMIB  10 }
    swL2TrafficMgmt             OBJECT IDENTIFIER ::= { swL2MgmtMIB  11 }
    swL2TrafficSegMgmt          OBJECT IDENTIFIER ::= { swL2MgmtMIB  12 }
--    swPriToTrafficMgmt			    OBJECT IDENTIFIER ::= { swL2MgmtMIB  13 } 
--    loadPortSegmentation OBJECT IDENTIFIER ::= { swL2MgmtMIB  14 }
    swL2PortSecurityMgmt        OBJECT IDENTIFIER ::= { swL2MgmtMIB  15 }
    swL2StpMgmt                 OBJECT IDENTIFIER ::= { swL2MgmtMIB  16 }
    swL2CosMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB 17 }
    swL2LoopDetectMgmt          OBJECT IDENTIFIER ::= { swL2MgmtMIB 18 }
    swL2VLANMgmt								OBJECT IDENTIFIER ::= { swL2MgmtMIB 19 }
    swL2MgmtMIBTraps            OBJECT IDENTIFIER ::= { swL2MgmtMIB 100 }
   --*****************************
    --add by ynot for lag
--    dot3adAggrPortMgmt          OBJECT IDENTIFIER ::= { lagMIBObjects  1}
    
    
    -- add for load traffic
    
    
     --******************************


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

          swL2DevInfo             OBJECT IDENTIFIER ::= { swL2DevMgmt 1 }

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

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

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

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

          swL2DevInfoFrontPanelLedStatus OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..127))
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object is a set of system LED indications. The two
                  octets is defined as system LED. The first LED is power LED. The

                  second LED is console LED. The other octets following 
                  the second octets 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 :

                  01 = 10Mbps.

                  02 = 100Mbps.

                  03 = 1000Mbps.

                  The four remaining bits are currently unused and must be 0.
"
              ::= { swL2DevInfo 5 }
              
              swL2Module-1-Type OBJECT-TYPE
                SYNTAX  INTEGER {
                                none(0),
                                moduleType-DEM-301T(1),
                                moduleType-DEM-201F(2),
                                moduleType-DEM-301G(3),
                                moduleType-COMBA(4),
        	        	moduleType-DEM-201FL(5)
        	        
                                }
                MAX-ACCESS  read-only
                STATUS  current
                DESCRIPTION
                "This object indicates the module type."
                ::= { swL2DevInfo 6 }
                
                
                swL2Module-2-Type OBJECT-TYPE
                SYNTAX  INTEGER {
                                none(0),
                                moduleType-DEM-301T(1),
                                moduleType-DEM-201F(2),
                                moduleType-DEM-301G(3),
                                moduleType-COMBA(4),
        	        	moduleType-DEM-201FL(5)
        	        
                                }
                MAX-ACCESS  read-only
                STATUS  current
                DESCRIPTION
                "This object indicates the module type."
                ::= { swL2DevInfo 7 }
                
            --***************************************************************************************************************                
 swL2CPUutilization          OBJECT IDENTIFIER ::= { swL2DevMgmt 3 }               
            swL2CPUutilizationIn5sec OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS  current
                DESCRIPTION
                "Time scale is 5 seconds.The value will be between 0%(idle) and 100%
                (very busy)."
                ::= { swL2CPUutilization 1 }

        swL2CPUutilizationIn1min OBJECT-TYPE
                SYNTAX  Integer32
        
                MAX-ACCESS  read-only
                STATUS  current
                DESCRIPTION
                "Time scale is 1 minute.The value will be between 0%(idle) and 100%
                (very busy)."
                ::= { swL2CPUutilization 2 }

        swL2CPUutilizationIn5min OBJECT-TYPE
                SYNTAX  Integer32
                MAX-ACCESS  read-only
                STATUS  current
                DESCRIPTION
                "Time scale is 5 minute.The value will be between 0%(idle) and 100%
                (very busy)."
                ::= { swL2CPUutilization 3 } 
 
-- -----------------------------------------------------------------------------
    swL2DevAlarm             OBJECT IDENTIFIER ::= { swL2DevMgmt 4 }
    
    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 }

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

          swL2DevCtrl             OBJECT IDENTIFIER ::= { swL2DevMgmt 2 }

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

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

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

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

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

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

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

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

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

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

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

          swL2DevCtrlCleanAllStatisticCounter OBJECT-TYPE
              SYNTAX  INTEGER {
                     normal(1),
                     active(2)
                     }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "As the object is set to active, all the statistic counters will be cleared.
                  If set to normal, do nothing."
              ::= { swL2DevCtrl 12 }

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

                      Note that it is strongly recommended that this object be
                      stored in non-volatile memory so that it remains constant
                      across re-initializations of the network management system."
              ::= { swL2DevCtrl 13 }

         -- swL2DevCtrlFilterEAPOLPDU OBJECT-TYPE
         --     SYNTAX      INTEGER { yes(1), no(2) }
         --     MAX-ACCESS  read-write
          --    STATUS      current
           --   DESCRIPTION
           --           "Indicates whether to filter the EAPOL PDU. If the administrative  
           --           state for Port Access Control in a System is enabled, this object
            --          is meaningless. Otherwise, when this object is yes(1), the EAPOL
            --          packets will be dropped. When this object is no(2), the EAPOL 
            --          packets will pass."
           --   ::= { swL2DevCtrl 14 }

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

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

        swL2DevCtrlIpAutoConfig OBJECT-TYPE
	    SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Indicates  the status of automatically getting configuration from TFTP server on device"
        ::= { swL2DevCtrl 17 }  
    
     swL2PortCtrlMulticastfilter OBJECT-TYPE
        SYNTAX  INTEGER {
--    		   other(0), 
--               forward-all-groups(1),
               forward-unregistered-groups(2),
               filter-unregistered-groups(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object decide the multicast packets filtering mode on all port . "   
          ::= { swL2DevCtrl 18 }           

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

    swL2MACNotifyHistorySize OBJECT-TYPE
	    SYNTAX  INTEGER (1..500)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
        "This object indicates the history size of variation MAC in address table. 
	         The default value is 1 ."
    ::= { swL2DevCtrl 20 }        
        
    swL2MACNotifyInterval OBJECT-TYPE
	    SYNTAX  INTEGER (1..2147483647)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the time interval in second for trigger the MAC notify message. "
	    ::= { swL2DevCtrl 21 } 
    
    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}  
        
    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 23 }
        
     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 24}

    swL2DevCtrlVlanIdOfFDBTbl OBJECT-TYPE
        SYNTAX      VlanId
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Indicates the VLAN ID to which the Dot1dTpFdbTable belongs;
             The default value is DEFAULT_VLAN_ID of the system."
        ::= { swL2DevCtrl 25 }
         	
	                     
-- ********************************************************************
--  swL2PortMgmt            OBJECT IDENTIFIER ::= { swL2MgmtMIB 6 }
-- ********************************************************************

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

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

          SwL2PortInfoEntry ::= 
              SEQUENCE {
                  swL2PortInfoPortIndex
                      INTEGER,
                  --swL2PortInfoType
                   --   INTEGER,
                 -- swL2PortInfoDescr
                 --     DisplayString,
                  swL2PortInfoLinkStatus
                      INTEGER,
                  swL2PortInfoNwayStatus
                      INTEGER
              }

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

          --swL2PortInfoType OBJECT-TYPE
          --    SYNTAX  INTEGER {
          --           other(1),
          --           portType-UTP(2),
          --           portType-AUI(3),
           --          portType-Fiber-MTRJ(4),
           --          portType-Fiber-SC(5),
           --          portType-Fiber-GBIC(6),
           --          portType-BNC(7)
           --          }
           --   MAX-ACCESS  read-only
           --   STATUS  current
           --   DESCRIPTION
            --      "This object indicates the connector type of this port."
            --  ::= { swL2PortInfoEntry 2 }

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

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

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

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

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

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

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

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

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

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

          swL2PortCtrlFlowCtrlState OBJECT-TYPE
              SYNTAX  INTEGER {
                     other(1),
                     disabled(2),
                     enabled(3)
                     }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "Set flow control function as enabled or disabled."
              ::= { swL2PortCtrlEntry 4 }
              
            swL2PortCtrlDescription OBJECT-TYPE
		SYNTAX DisplayString(SIZE(0..128))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The object describe the ports in text."
		::= { swL2PortCtrlEntry 5 }
		
--	    swL2PortCtrlAddressLearning OBJECT-TYPE
--              SYNTAX  INTEGER {
--                     other(1),
--                     disabled(2),
--                     enabled(3)
--                     }
--              MAX-ACCESS  read-write
--              STATUS  current
--              DESCRIPTION
--                  "This object decide the addresslearning enabled or disabled."
--              ::= { swL2PortCtrlEntry 6 }

    swL2PortCtrlMACNotifyState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object set each poet MAC notification state."
        ::= { swL2PortCtrlEntry 7 }   
        
 --         swL2PortCtrlCleanStatCounter OBJECT-TYPE
 --             SYNTAX  INTEGER {
 --                    normal(1),
  --                   active(2)
  --                   }
 --             MAX-ACCESS  read-write
  --            STATUS  current
  --            DESCRIPTION
  --                "As the object is set to active, the statistic counters of this port will be
  --                cleared. If set to normal, do nothing."
  --            ::= { swL2PortCtrlEntry 5 }
  
           swL2PortCtrlMDIXState OBJECT-TYPE
                SYNTAX  INTEGER {
                        auto(1),
                        normal(2),
                        cross(3)
                        }
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "This object controls the MDIX state of a specified port."
                ::= { swL2PortCtrlEntry 10 }
  
          swL2PortErrTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2PortErrEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "A table that contains information about Err port."
              ::= { swL2PortMgmt 3 }

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

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

          swL2PortErrPortIndex OBJECT-TYPE
              SYNTAX  INTEGER (1..255)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object indicates the module's port number.(1..Max port number in
                   the module)"
              ::= { swL2PortErrEntry 1 }
       
	  swL2PortErrPortState OBJECT-TYPE
              SYNTAX  INTEGER {
                     disabled(1),
                     enabled(2)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object decide the portstate enabled or disabled."
              ::= { swL2PortErrEntry 2 }
              
	  swL2PortErrPortStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                     other(1),
                     err-disabled(2)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object decide the PortStatus whether err-disabled."
              ::= { swL2PortErrEntry 3 }
               
	  swL2PortErrPortReason OBJECT-TYPE
              SYNTAX  INTEGER {
                     stp-lbd(1),
                     storm-control(2)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object decide the PortStatus STP LBD or Storm control."
              ::= { swL2PortErrEntry 4 }
              
          swL2PortErrDescription OBJECT-TYPE
		SYNTAX DisplayString(SIZE(0..128))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The object describe the ports in text."
		::= { swL2PortErrEntry 5 }
  
  -- ********************************************************************
--        swL2QOSMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB 6 }
-- ********************************************************************

	swL2QOSBandwidthControlTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwL2QOSBandwidthControlEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "."
		::= { swL2QOSMgmt 1 }
	
	swL2QOSBandwidthControlEntry OBJECT-TYPE
		SYNTAX  SwL2QOSBandwidthControlEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information contained in swL2QOSBandwidthControlTable."
		INDEX   { swL2QOSBandwidthPortIndex }
		::= { swL2QOSBandwidthControlTable 1 }
	
	SwL2QOSBandwidthControlEntry ::=
		SEQUENCE {
		  swL2QOSBandwidthPortIndex
		      INTEGER,
		  swL2QOSBandwidthRxRate
		      INTEGER,
		  swL2QOSBandwidthTxRate
		      INTEGER,
		  swL2QOSBandwidthRadiusRxRate 
		  		INTEGER,
		  swL2QOSBandwidthRadiusTxRate
		  		INTEGER  
		}
	
	swL2QOSBandwidthPortIndex OBJECT-TYPE
		SYNTAX  INTEGER (1..650)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the port ."
		::= { swL2QOSBandwidthControlEntry 1 }
	
	swL2QOSBandwidthRxRate OBJECT-TYPE
		SYNTAX  INTEGER (64..1024000)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates RX Rate(Kbit/sec) of the specifed port.Value 1024000 means no limit."
		::= { swL2QOSBandwidthControlEntry 2 }
	
	swL2QOSBandwidthTxRate OBJECT-TYPE
		SYNTAX  INTEGER (64..1024000)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates TX Rate(Kbit/sec) of the specifed port.Value 1024000 means no limit. "
		::= { swL2QOSBandwidthControlEntry 3 }	
		
	swL2QOSBandwidthRadiusRxRate OBJECT-TYPE
		SYNTAX  INTEGER 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The RxRate value comes from RADIUS server,
		       If an 802.1X port is authenticated, this value 
		       will overwrites the locally configured RxRate. "
		::= { swL2QOSBandwidthControlEntry 4 }	
		
	swL2QOSBandwidthRadiusTxRate OBJECT-TYPE
		SYNTAX  INTEGER 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The TxRate value comes from RADIUS server,
		       If an 802.1X port is authenticated, this value 
		       will overwrites the locally configured TxRate. "
		::= { swL2QOSBandwidthControlEntry 5 }
	-- *******************************************************
    
	swL2QOSSchedulingTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwL2QOSSchedulingEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "."
		::= { swL2QOSMgmt 2 }
	
	swL2QOSSchedulingEntry OBJECT-TYPE
		SYNTAX  SwL2QOSSchedulingEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information contained in swL2QOSSchedulingTable."
		INDEX   { swL2QOSSchedulingClassIndex }
		::= { swL2QOSSchedulingTable 1 }
	
	SwL2QOSSchedulingEntry ::=
		SEQUENCE {
		  swL2QOSSchedulingClassIndex
		      INTEGER,
--		  swL2QOSSchedulingMaxPkts
--		      INTEGER,
--		  swL2QOSSchedulingMaxLatency
--		      INTEGER,
                  swL2QOSSchedulingMaxWeight
		      INTEGER
		}
	
	swL2QOSSchedulingClassIndex OBJECT-TYPE
		SYNTAX  INTEGER (0..3)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the hardware queue number."
		::= { swL2QOSSchedulingEntry 1 }
	
--	swL2QOSSchedulingMaxPkts OBJECT-TYPE
--		SYNTAX  INTEGER (0..255)
--		MAX-ACCESS  read-write
--		STATUS  current
--		DESCRIPTION
--		      "Indicates the maximum number of packets the hardware priority queue will be allowed
--		      to transmit before allowing the next lowest priority queue  to transmit its packets.
--		      a value between 0 and 255 can be specified."
--		::= { swL2QOSSchedulingEntry 2 }
--	
--	swL2QOSSchedulingMaxLatency OBJECT-TYPE
--		SYNTAX  INTEGER (0..255)
--		MAX-ACCESS  read-write
--		STATUS  current
--		DESCRIPTION
--		      "Indicates the maximum amount of time the hardware priority queue will be allowed
--		       to transmit packets before allowing the next lowest priority queue to begin transmit
--		       its packets. A value between 0 and 255 can be specified- with this value multiplied 
--		       by 16 ms to arrive at the total allowed time for queue to transmit packets.
--		       For example, a value of 3 specifies 3*16=48 ms. The queue will continue transmitting
--		       the last packet until it is finished when the max_latency timer expires. "
--		::= { swL2QOSSchedulingEntry 3 }

        swL2QOSSchedulingMaxWeight OBJECT-TYPE
		SYNTAX  INTEGER (1..55)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      " "
		::= { swL2QOSSchedulingEntry 4 }
	
	swL2QOSSchedulingMechanismCtrl OBJECT-TYPE
		SYNTAX	INTEGER {
                 strict(1),
--                   roundrobin(2),
                 weightfair(2),
			   none(3)
                 }
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "This object can control QOS scheduling Mechanism."
		::= { swL2QOSMgmt 5 }
      
      -- *******************************************************
      
	swL2QOS8021pUserPriorityTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwL2QOS8021pUserPriorityEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "."
		::= { swL2QOSMgmt 3 }
	
	swL2QOS8021pUserPriorityEntry OBJECT-TYPE
		SYNTAX  SwL2QOS8021pUserPriorityEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information contained in swL2QOS8021pUserPriorityTable."
		INDEX   { swL2QOS8021pUserPriorityIndex }
		::= { swL2QOS8021pUserPriorityTable 1 }
	
	SwL2QOS8021pUserPriorityEntry ::=
		SEQUENCE {
		  swL2QOS8021pUserPriorityIndex
		      INTEGER,
		  swL2QOS8021pUserPriorityClass
		      INTEGER
		}
	
	swL2QOS8021pUserPriorityIndex OBJECT-TYPE
		SYNTAX  INTEGER (0..7)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The 802.1p user priority  ."
		::= { swL2QOS8021pUserPriorityEntry 1 }
	
	swL2QOS8021pUserPriorityClass OBJECT-TYPE
		SYNTAX  INTEGER (0..3)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "The number of the switch's hardware priority queue. The switch has four hardware 
		       priority queues available. They are numbered between 0 (the lowest priority)
		        and 3 (the highest priority)."
		::= { swL2QOS8021pUserPriorityEntry 2 }
    
      -- ******************************************************
      
	swL2QOS8021pDefaultPriorityTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwL2QOS8021pDefaultPriorityEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "."
		::= { swL2QOSMgmt 4 }
	
	swL2QOS8021pDefaultPriorityEntry OBJECT-TYPE
		SYNTAX  SwL2QOS8021pDefaultPriorityEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information contained in swL2QOS8021pDefaultPriorityTable."
		INDEX   { swL2QOS8021pDefaultPriorityIndex }
		::= { swL2QOS8021pDefaultPriorityTable 1 }
	
	SwL2QOS8021pDefaultPriorityEntry ::=
		SEQUENCE {
		  swL2QOS8021pDefaultPriorityIndex
		      INTEGER,
		  swL2QOS8021pDefaultPriority
		      INTEGER,
		   swL2QOS8021pRadiusPriority
		      INTEGER
		}
    
	swL2QOS8021pDefaultPriorityIndex OBJECT-TYPE
		SYNTAX  INTEGER (1..650)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the port number ."
		::= { swL2QOS8021pDefaultPriorityEntry 1 }
	
	swL2QOS8021pDefaultPriority OBJECT-TYPE
		SYNTAX  INTEGER (0..7)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "The priority value to assign to untagged packets received by the
		       switch ports on the switch.."
		::= { swL2QOS8021pDefaultPriorityEntry 2 }
		
	swL2QOS8021pRadiusPriority OBJECT-TYPE
		SYNTAX  INTEGER 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The value of 802.1p comes from RADIUS server.
		      If an 802.1X port is authenticated, this value 
		      will overwrite the local configured value."
		::= { swL2QOS8021pDefaultPriorityEntry 3 }
    
--	swL2QOSDscpMappingTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF SwL2QOSDscpMappingEntry
--		MAX-ACCESS not-accessible
--		STATUS	current
--		DESCRIPTION
--			""
--		::= { swL2QOSMgmt 6 }
--    
--	swL2QOSDscpMappingEntry OBJECT-TYPE
--		SYNTAX SwL2QOSDscpMappingEntry
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			""
--		INDEX { swL2QOSDscpIndex }
--		::= { swL2QOSDscpMappingTable 1 }
--    
--	SwL2QOSDscpMappingEntry ::=
--		SEQUENCE {
--		  swL2QOSDscpIndex
--		      INTEGER,
--		  swL2QOSDscpClass
--		      INTEGER
--		}
--	
--	swL2QOSDscpIndex OBJECT-TYPE
--		SYNTAX  INTEGER (0..63)
--		MAX-ACCESS  read-only
--		STATUS  current
--		DESCRIPTION
--		      ""
--		::= { swL2QOSDscpMappingEntry 1 }
  --  
	--swL2QOSDscpClass OBJECT-TYPE
	--	SYNTAX  INTEGER (0..3)
	--	MAX-ACCESS  read-write
	--	STATUS  current
	--	DESCRIPTION
	--	      ""
	--	::= { swL2QOSDscpMappingEntry 2 }
    --
	--swL2QOSPortDscpTable OBJECT-TYPE
	--	SYNTAX SEQUENCE OF SwL2QOSPortDscpEntry
	--	MAX-ACCESS not-accessible
	--	STATUS	current
	--	DESCRIPTION
	--		""
	--	::= { swL2QOSMgmt 7 }
    --
	--swL2QOSPortDscpEntry OBJECT-TYPE
	--	SYNTAX SwL2QOSPortDscpEntry
	--	MAX-ACCESS not-accessible
	--	STATUS current
	--	DESCRIPTION
	--		""
	--	INDEX { swL2QOSPortDscpIndex }
	--	::= { swL2QOSPortDscpTable 1 }
    --
	--SwL2QOSPortDscpEntry ::=
	--	SEQUENCE {
	--	  swL2QOSPortDscpIndex
	--	      INTEGER,
	--	  swL2QOSPortDscpStatus
	--	      INTEGER
	--	}
	--
	--swL2QOSPortDscpIndex OBJECT-TYPE
	--	SYNTAX  INTEGER (1..10)
	--	MAX-ACCESS  read-only
	--	STATUS  current
	--	DESCRIPTION
	--	      ""
	--	::= { swL2QOSPortDscpEntry 1 }
    --
	--swL2QOSPortDscpStatus OBJECT-TYPE
	--	SYNTAX  INTEGER {
	--				other(1),
	--				disable(2),
	--				enable(3)
	--				}
	--	MAX-ACCESS  read-write
	--	STATUS  current
	--	DESCRIPTION
	--	      ""
	--	::= { swL2QOSPortDscpEntry 2 }
    --
    --
 			

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

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

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

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

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

   

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

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

    swPortTrunkFloodingPort OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The flooding port of every trunk."
        ::= { swPortTrunkEntry 7 }
 
 
    swL2TrunkAlgorithm OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                mac-source(2),
                mac-destination(3),
                mac-source-dest(4)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object configures to part of the packet examined by the 
            switch when selecting the egress port for transmitting 
            load-sharing data."
        ::= { swL2TrunkMgmt 4 }
        
        
    swL2TrunkLACPPortTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2TrunkLACPPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table specifys which ports group a set of ports(up to 8)
            into a single logical link."
        ::= { swL2TrunkMgmt 5 }
        
    swL2TrunkLACPPortEntry   OBJECT-TYPE
        SYNTAX  SwL2TrunkLACPPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information specifies which ports group a set of 
            ports(up to 8) into a single logical link."
        INDEX  { swL2TrunkLACPPortIndex }
        ::= { swL2TrunkLACPPortTable 1 }

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

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

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

     swL2TrunkVLANTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2TrunkVLANEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table is used to manage the VLAN trunking feature of the device."
        ::= { swL2TrunkMgmt 6 }        
        
    swL2TrunkVLANEntry   OBJECT-TYPE
        SYNTAX  SwL2TrunkVLANEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This object is used to configure the VLAN trunking settings for each port."
        INDEX  { swL2TrunkVLANPort }
        ::= { swL2TrunkVLANTable 1 }
        
     SwL2TrunkVLANEntry ::= 
        SEQUENCE {
            swL2TrunkVLANPort
                INTEGER,
            swL2TrunkVLANState
                INTEGER
        }

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

    swL2TrunkVLANState OBJECT-TYPE
        SYNTAX  INTEGER{
                  enabled(1),
                  disabled(2)
                  }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The state of the logical port LACP."       
        ::= { swL2TrunkVLANEntry 2 }
-- **************************************************************************
--  swPortMirrorPackage              
-- **************************************************************************
--	swPortMirrorMaxEntries OBJECT-TYPE
--		SYNTAX Integer32
--		MAX-ACCESS read-only
--		STATUS	current
--		DESCRIPTION
--			"The max entries of this swPortMirrorCtrlTable"
--		::= { swPortMirrorPackage 1}
	
--    swPortMirrorCtrlTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF SwPortMirrorCtrlEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "A list of port snooping entries.Port mirroring function provides an easy
--            way to monitor traffic on any port. In this way any good packets appears
--            on the source mirror port also shows up on the target mirror port and 
 --           doesn't to reconstruct the LAN."
 --       ::= { swPortMirrorPackage 2 }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    swL2IGMPLeaveTimer OBJECT-TYPE
        SYNTAX  INTEGER (1..16711450)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When a querier receives a Leave Group message for a group that
            has group members on the reception interface, it sends
            Group-Specific Queries every swL2IGMPLeaveTimer to the group 
            being left."
        DEFVAL  { 1 }
        ::= { swL2IGMPCtrlEntry 8 }
    
    swL2IGMPQueryState OBJECT-TYPE
        SYNTAX INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object decide the IGMP query 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 funtion is disabled for this entry.
            enable(3) -  IGMP funtion is enabled for this entry."
        ::= { swL2IGMPCtrlEntry 11 }
        
    swL2IGMPFastLeave OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disable(2),
               enable(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "  "
        ::= { swL2IGMPCtrlEntry 12 }
        
    swL2IGMPQueryInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPQueryInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The table contains the number current IGMP query packets which
            is captured by this device, as well as the IGMP query packets
            sent by the device."
        ::= { swIGMPPackage 4 }

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

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

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

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

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

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

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

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

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

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

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

    swL2IGMPMacAddr OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object is identify mac address which is corresponding
            to swL2IGMPGroupIpAddr, in per-Vlan basis."
        ::= { swL2IGMPInfoEntry 3 }

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

    swL2IGMPIpGroupReportCount OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicate how much report packet was receive by our
            device corresponding with this entry from IGMP function enabled,
            in per-Vlan basis." 
        ::= { swL2IGMPInfoEntry 5 }
        
--------------------------------------------------
-- IGMP Router Port Table
--------------------------------------------------
    swL2IGMPRouterPortTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPRouterPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The information of the router port table."
        ::= { swIGMPPackage 6 }

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

    SwL2IGMPRouterPortEntry ::=
        SEQUENCE {
            swL2IGMPRouterPortVlanid
                INTEGER,
            swL2IGMPRouterPortVlanName
                DisplayString,
            swL2IGMPRouterPortStaticPortList
                PortList,
            swL2IGMPRouterPortDynamicPortList
                PortList,
            swL2IGMPRouterPortForbiddenPortList
                PortList
        }

    swL2IGMPRouterPortVlanid OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the vlan id of the router port entry."
        ::= { swL2IGMPRouterPortEntry 1 }

    swL2IGMPRouterPortVlanName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the vlan name of the router port entry."
        ::= { swL2IGMPRouterPortEntry 2 }

    swL2IGMPRouterPortStaticPortList OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicate the static portlist of the router port entry."
        ::= { swL2IGMPRouterPortEntry 3 }

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


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

-- -----------------------------------------------------------------------------
--  swIGMPPackage	OBJECT IDENTIFIER ::= { swL2IGMPMgmt 7 }
-- -----------------------------------------------------------------------------

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

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

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

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

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

-- ************************************************************************
--  swPortRateTable       
-- ************************************************************************
	
--    swPortRateTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF SwPortRateEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--           "This table specifies the port membership for each logical link."
--        ::= { swPortRatePackage 1 }
--
--
--    swPortRateEntry OBJECT-TYPE
--        SYNTAX SwPortRateEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "A list of information specifies which ports group form
--             a single logical link."
--        INDEX  { swPortRateIndex }
--        ::= { swPortRateTable 1 }
--
--    SwPortRateEntry ::=
--        SEQUENCE {
--            swPortRateIndex
--                Integer32,
--            swPortRateIngressRate
--                Integer32,
--            swPortRateEgressRate
--                Integer32
--        }
-- 
--    swPortRateIndex OBJECT-TYPE
--       SYNTAX Integer32
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--            "The index of swPortRateTable"
--        ::= { swPortRateEntry 1 }
--
--    swPortRateIngressRate OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--            "RX Rate"
--        ::= { swPortRateEntry 2 }
--
--    swPortRateEgressRate OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--            "TX Rate"
--        ::= { swPortRateEntry 3 }
        
-- ************************************************************************
--  swPortBindingPackage       
-- ************************************************************************
--	swPortBindingStatus OBJECT-TYPE
--		SYNTAX INTEGER {
--				other(1),
--				disabled(2),
--				enabled(3)
--		}
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION 
--			"Enable the Port Binding"
--		::= { swPortBindingPackage 1 }
--			
--    swPortBindingCtrlTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF SwPortBindingCtrlEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            ""
--        ::= { swPortBindingPackage 2 }
--
--		
--    swPortBindingCtrlEntry OBJECT-TYPE
--        SYNTAX SwPortBindingCtrlEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--            "A list of information."
--        INDEX  { swPortBindingCtrlIndex }
--        ::= { swPortBindingCtrlTable 1 }
--
--    SwPortBindingCtrlEntry ::= 
--        SEQUENCE {
--            swPortBindingCtrlIndex
--                Integer32,
--            swPortBindingCtrlStatus
--                INTEGER
--      }
--
--    swPortBindingCtrlIndex OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--            ""
--        ::= { swPortBindingCtrlEntry 1 }
--
--   swPortBindingCtrlStatus OBJECT-TYPE
--		SYNTAX INTEGER {
--				other(1),
--				disabled(2),
--				enabled(3)
--		}
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION 
--			"Enable the Port Binding Control"
--        ::= { swPortBindingCtrlEntry 2 }
        
--
--  The PortBinding Information Table 
--  

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

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

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

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

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

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

    swL2TrafficCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2TrafficCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table specifys the storm traffic control configuration."
        ::= { swL2TrafficMgmt 1 }

    swL2TrafficCtrlEntry OBJECT-TYPE
        SYNTAX  SwL2TrafficCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information specifies the storm traffic control 
            configuration."
        INDEX  { swL2TrafficCtrlGroupIndex }
        ::= { swL2TrafficCtrlTable 1 }

    SwL2TrafficCtrlEntry ::= 
        SEQUENCE {
            swL2TrafficCtrlGroupIndex
                INTEGER,
            swL2TrafficCtrlUnitIndex
                INTEGER,
            swL2TrafficCtrlBMStromthreshold
                INTEGER,
            swL2TrafficCtrlBcastStromCtrl
                INTEGER,
            swL2TrafficCtrlMcastStromCtrl
                INTEGER,
            swL2TrafficCtrlUcastStromCtrl
                INTEGER
        }

    swL2TrafficCtrlGroupIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The index of logical port trunk. The trunk group number depend
            on the existence of unit and module."
        ::= { swL2TrafficCtrlEntry 1 }
        
    swL2TrafficCtrlUnitIndex OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "Indicates ID of the unit in the device"
        ::= { swL2TrafficCtrlEntry 2 }

    swL2TrafficCtrlBMStromthreshold OBJECT-TYPE
        SYNTAX  INTEGER (64..1024000)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object to decide how much thousand packets per second
            broadcast/multicast (depend on swL2TrafficCtrlBcastStromCtrl,
            swL2TrafficCtrlMcastStromCtrl or swL2TrafficCtrlUcastStromCtrl
            objects whether is enabled) will active storm control. Whenever
            a port reaches its configured amount of packets in the one 
            second time interval, the device will start dropping that type 
            of packet, until the time interval has expired. Once the time 
            interval has expired, the device will start forwarding that type
            of packet."
        ::= { swL2TrafficCtrlEntry 3 }


    swL2TrafficCtrlBcastStromCtrl OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
           "This object indicates 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 multicast storm control function is 
           enabled or disabled."
        ::= { swL2TrafficCtrlEntry 5 }

    swL2TrafficCtrlUcastStromCtrl OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
           "This object indicates destination lookup fail function is 
           enabled or disabled." 
        ::= { swL2TrafficCtrlEntry 6 }


--   ********************************************************************
--    swL2TrafficSegMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 13 }
--   ********************************************************************
  
    swL2TrafficSegTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2TrafficSegEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table specifys the port just can forward traffic to the 
            specific port list."
        ::= { swL2TrafficSegMgmt 1 }
  
    swL2TrafficSegEntry OBJECT-TYPE
        SYNTAX  SwL2TrafficSegEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information specifies the port with its traffic 
            forward list."
        INDEX  { swL2TrafficSegPort }
        ::= { swL2TrafficSegTable 1 }
  
    SwL2TrafficSegEntry ::= 
        SEQUENCE {
            swL2TrafficSegPort
                INTEGER,
            swL2TrafficSegForwardPorts
                PortList
        }
  
    swL2TrafficSegPort OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The port number of the logical port."
        ::= { swL2TrafficSegEntry 1 }
        
    swL2TrafficSegForwardPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "The port list that the specific port can forward traffic."
        ::= { swL2TrafficSegEntry 2 }
    
-- ********************************************************************
--  swL2PortSecurityMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 15 }
-- ********************************************************************

    swL2PortSecurityControlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2PortSecurityControlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "port security feature which controls the address leaning capability and the
                traffic forwarding decision. Each port can have this function enabled or disabled.
                When it is enabled and a number is given said N, which allows N addresses to be
                learned at this port, the first N learned addresses are locked at this port as
                static entry. When the learned addresses number reach N, any coming packet with
                not learned source addresses are discarded (e.g. dropped) and no more new addresses
                can be learned at this port."
        ::= { swL2PortSecurityMgmt 1 }

    swL2PortSecurityControlEntry OBJECT-TYPE
        SYNTAX  SwL2PortSecurityControlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "A list of information contained in swL2PortSecurityControlTable."
        INDEX   { swL2PortSecurityPortIndex }
        ::= { swL2PortSecurityControlTable 1 }

    SwL2PortSecurityControlEntry ::=
        SEQUENCE {
            swL2PortSecurityPortIndex
                INTEGER,
            swL2PortSecurityMaxLernAddr
                INTEGER,
            swL2PortSecurityMode
                INTEGER,
            swL2PortSecurityAdmState
                INTEGER
        }

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

    swL2PortSecurityMaxLernAddr OBJECT-TYPE
        SYNTAX  INTEGER (0..10)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                "Indicates allowable number of addresses to be learned at this port."
        ::= { swL2PortSecurityControlEntry 2 }
   
    swL2PortSecurityMode OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    permanent(2),
                    deleteOnTimeout(3),
                    deleteOnReset(4)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                "Indicates the mode of locking address.
                In deleteOnTimeout(3) mode - the locked addresses can be aged out after aging timer
                expire. In this mode, when the locked address is aged
                out, the number of address can be learned has to be
                increased by one.
                In deleteOnReset(4) mode - never age out the locked addresses unless restart
                the system to prevent from port movement or intrusion."
        ::= { swL2PortSecurityControlEntry 3 }
   
    swL2PortSecurityAdmState OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    enable(2),
                    disable(3)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                "Indicates administration state of locking address."
        ::= { swL2PortSecurityControlEntry 4 }
    
-- ********************************************************************
    swL2PortSecurityTrapLogState OBJECT-TYPE
        	SYNTAX  INTEGER {
                    other(1),
                    enable(2),
                    disable(3)
                }
        	MAX-ACCESS  read-write
        	STATUS  current
        	DESCRIPTION
                "when enable(2),whenever there's a new MAC that violates the pre-defined
                  port security configuration, trap will be sent out and the relevant information
                  will be logged in system."
        ::= { swL2PortSecurityMgmt 2 }
    
 -- ********************************************************************
--  swL2StpMgmt                 OBJECT IDENTIFIER ::= { swL2MgmtMIB  16 }
-- ********************************************************************

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

	
    swL2StpForwardBPDU OBJECT-TYPE
	    SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Indicates whether flooding BPDU packets when STP is disabled on device"
        ::= { swL2StpMgmt 1 }

      swL2StpLbd OBJECT-TYPE
      	SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  not-accessible
        STATUS  obsolete
        DESCRIPTION
            "Indicates whether STP loop-back prevent on the device is turned on"
        ::= { swL2StpMgmt 2 }
        
      
      swL2StpLbdRecoverTime OBJECT-TYPE
      	SYNTAX  INTEGER (0..1000000)
          MAX-ACCESS  not-accessible
          STATUS  obsolete
          DESCRIPTION
            "The period of time on which STP module keeps checking the BPDU loop status,
	  to configure swL2StpLbdRecoverTime as 0 disables automatically recover"
        ::= { swL2StpMgmt 3 }                
        
        
	swL2StpPortTable	OBJECT-TYPE
			SYNTAX			SEQUENCE OF SwL2StpPortEntry
			MAX-ACCESS	not-accessible
			STATUS			current
			DESCRIPTION
		      "A table that contains port-specific information
		      for the Spanning Tree Protocol."
		::= { swL2StpMgmt 4 }

	swL2StpPortEntry OBJECT-TYPE
		SYNTAX  SwL2StpPortEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			"A list of information maintained by every port
			 about the Spanning Tree Protocol state for that
			 port."
		INDEX   { swL2StpPort }
		::= { swL2StpPortTable 1 }
	
	SwL2StpPortEntry ::=	SEQUENCE {
               	swL2StpPort
		INTEGER,
		swL2StpPortLbd
		INTEGER,
		swL2StpPortStatus
		INTEGER,
                swL2StpPortRole	
                INTEGER,	 
                swL2StpPortFBPDU                 
                INTEGER,
                swL2StpPortLinkState
                INTEGER,
                swL2StpPortProtocolMigration
            	TruthValue,
        	swL2StpPortAdminEdgePort
            	INTEGER,          			
        	swL2StpPortOperEdgePort
            	TruthValue,
        	swL2StpPortAdminPointToPoint
            	INTEGER,
        	swL2StpPortOperPointToPoint
            	TruthValue,
                swL2StpPortAdminPathCost
            	Unsigned32,            	
                swL2StpPortPriority
                INTEGER, 	
                swL2STPPortState
                INTEGER,
            swL2StpPortRestrictedRole
                TruthValue,
            swL2StpPortRestrictedTCN    
                TruthValue    
                }
	
	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  not-accessible
			STATUS  obsolete
			DESCRIPTION
					"The enabled/disabled status is used to Loop-back prevention attached
						to this port."
			::= { swL2StpPortEntry 2 }
	        
	swL2StpPortStatus OBJECT-TYPE
		SYNTAX  INTEGER {
	               other(1),
	               disabled(2),
	               discarding(3),
	               learning(4),
	               forwarding(5),
	               broken(6),
	               no-stp-enabled(7),
	               err-disabled(8)
	               }
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	            "When the port Enable state is enabled, the port's current 
	            state as defined by application of the Spanning Tree Protocol.
	            If the PortEnable is disabled, the the port status will be 
	            no-stp-enabled(7).
		  If the port is in error disabled status, the port status will be err-disabled(8)"
	        ::= { swL2StpPortEntry 3 }		
			
	swL2StpPortRole OBJECT-TYPE
		SYNTAX  INTEGER {			           
			     disabled(1),
			     alternate(2),
			     backup(3),
			     root(4),
			     designated(5),
			     nonStp(6),
			     loopback(7)
			}
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
			    "When the port Enable state is enabled, the port's current 
		            port role as defined by application of the Spanning Tree Protocol.
		            If the Port Enable state is disabled, the the port role will be 
		            nonstp(7). If the port is in loop-back status, the port role will
		            be loopback(8)"
	        ::= { swL2StpPortEntry 4 }		 

	swL2StpPortFBPDU OBJECT-TYPE
      	SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The enabled/disabled status is used to BPDU Filtering attached 
            to this port."
        ::= { swL2StpPortEntry 5 }          		    		

	swL2StpPortLinkState OBJECT-TYPE
              SYNTAX  INTEGER {
                     link-down(1),
                     half-10Mbps-none(2),
                     half-10Mbps-backp(3),
                     full-10Mbps-none(4),
                     full-10Mbps-8023x(5),
                     half-100Mbps-none(6),
                     half-100Mbps-backp(7),
                     full-100Mbps-none(8),
                     full-100Mbps-8023x(9),
                     half-1000Mbps-none(10),
                     full-1000Mbps-backp(11),
                     full-1000Mbps-none(12),
                     full-1000Mbps-8023x(13)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object indicates the stp port speed and duplex mode."
              ::= { swL2StpPortEntry 6 }
              
	swL2StpPortProtocolMigration OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When operating in RSTP (version 2) mode, writing TRUE(1)
         to this object forces this port to transmit RSTP BPDUs.
         Any other operation on this object has no effect and
         it always returns FALSE(2) when read."
    REFERENCE
        "IEEE 802.1w clause 14.8.2.4, 17.18.10, 17.26"
    ::= { swL2StpPortEntry 7 }

	swL2StpPortAdminEdgePort OBJECT-TYPE
    SYNTAX      INTEGER {
                    forceTrue(0),
                    forceFalse(1),
                    auto(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative value of the Edge Port parameter.  A
         value of TRUE(0) indicates that this port should be
         assumed as an edge-port and a value of FALSE(1) indicates
         that this port should be assumed as a non-edge-port."
    REFERENCE
        "IEEE 802.1t clause 14.8.2, 18.3.3"
    ::= { swL2StpPortEntry 8 }    
   
   swL2StpPortOperEdgePort OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational value of the Edge Port parameter.  The
         object is initialized to the value of
         swL2StpPortAdminEdgePort and is set FALSE on reception of
         a BPDU."
    REFERENCE
        "IEEE 802.1t clause 14.8.2, 18.3.4"
    ::= { swL2StpPortEntry 9 }

	swL2StpPortAdminPointToPoint OBJECT-TYPE
    SYNTAX      INTEGER {
                    forceTrue(0),
                    forceFalse(1),
                    auto(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative point-to-point status of the LAN segment
         attached to this port.  A value of forceTrue(0) indicates that
         this port should always be treated as if it is connected to
         a point-to-point link.  A value of forceFalse(1) indicates
         that this port should be treated as having a shared media
         connection.  A value of auto(2) indicates that this port is
         considered to have a point-to-point link if it is an Aggregator
         and all of its members are aggregatable, or if the MAC entity
         is configured for full duplex operation, either through
         auto-negotiation or by management means."
   REFERENCE
       "IEEE 802.1w clause 6.4.3, 6.5, 14.8.2"
   ::= { swL2StpPortEntry 10 }

	swL2StpPortOperPointToPoint OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational point-to-point status of the LAN segment
         attached to this port.  It indicates whether a port is
         considered to have a point-to-point connection or not.
         The value is determined by management or by auto-detection,
         as described in the swL2StpPortAdminPointToPoint object."
    REFERENCE
        "IEEE 802.1w clause 6.4.3, 6.5, 14.8.2"
    ::= { swL2StpPortEntry 11}

	swL2StpPortAdminPathCost OBJECT-TYPE
    SYNTAX      Unsigned32(0..200000000) --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.
	
	Issue No.: 3250R2-077 
    As USE_RSTP is 1:enabled, swL2StpPortPathCost is forced to be read-only.
    configuration via swL2StpPortAdminPathCost. 
    According 802.1w, value range of swL2StpPortAdminPathCost would be expanded.
    the former value range is (0..65535), the new is (0..200000000). "
              
    REFERENCE
        "IEEE 802.1D-1998: Section 8.5.5.3"
    ::= { swL2StpPortEntry 12} 
    
         swL2StpPortPriority OBJECT-TYPE
              SYNTAX  INTEGER (0..240)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The value of the priority field which is
                      contained in the first (in network byte order)
                      octet of the (2 octet long) Port ID.  The other
                      octet of the Port ID is given by the value of
                      swL2StpPort."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.1"
              ::= { swL2StpPortEntry 13 }

          swL2STPPortState OBJECT-TYPE                 
	     	SYNTAX  INTEGER {                      
	              other(1),                        
	              disabled(2),                     
	              enabled(3)                       
	              }                                
	       MAX-ACCESS  read-write                  
	       STATUS  current                         
	       DESCRIPTION                             
	           "The enabled/disabled status is usedoop-back prevention attached
	           to this port."                      
	     ::= { swL2StpPortEntry 14 }             
        
         swL2StpPortRestrictedRole OBJECT-TYPE
	        SYNTAX  TruthValue         
            MAX-ACCESS  read-write
            STATUS  current 
            DESCRIPTION	
                "If TRUE causes the port not to be selected as Root Port, 
                    even it has the best spanning tree priotiry vector."
        ::= { swL2StpPortEntry 15 }
            
        swL2StpPortRestrictedTCN OBJECT-TYPE
	        SYNTAX  TruthValue         
            MAX-ACCESS  read-write
            STATUS  current 
            DESCRIPTION	
                "If TRUE causes the port not to propagate received topology
	             change notifications and topology changes to other Ports."
        ::= { swL2StpPortEntry 16 }   

-- ********************************************************************
--        swL2CosMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB 17 }
-- ********************************************************************
	swL2CosPriorityCtrl	  OBJECT IDENTIFIER ::= { swL2CosMgmt 3 }   
  
	  swL2CosPriorityTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2CosPriorityEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Used to show and config per port priority-based QoS features on the switch"
              ::= { swL2CosPriorityCtrl 1 }

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

          swL2CosDscpPRIIndex OBJECT-TYPE
              SYNTAX  INTEGER (0..63)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Indicates CoS Priority DscpPRI."
              ::= { swL2CosDscpPRIEntry 1 }      
              
          swL2CosDscpPRIClass OBJECT-TYPE
              SYNTAX  INTEGER (0..3)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The number of the switch's hardware priority queue. The switch has 4 hardware priority queues available. 
                      They are numbered between 0 (the lowest priority queue) and 3 (the highest priority queue).
                      If you want to set, You must have administrator privileges."
              ::= { swL2CosDscpPRIEntry 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 }

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

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

-- ********************************************************************
--  swL2VLANMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 19 }
-- ********************************************************************
		swL2VlanTable OBJECT-TYPE
    		SYNTAX      SEQUENCE OF SwL2VlanEntry
    		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 }

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

		SwL2VlanEntry ::=
		    SEQUENCE {
		    		swL2VlanIndex
            		VlanId,
		
		        swL2VlanName
		            DisplayString,
		
		        swL2VlanType
            		INTEGER, 
		
		        swL2VlanMemberPorts
            		PortList,
            	
        		swL2VlanStaticPorts
            		PortList,
            		
            swL2VlanUntaggedPorts
            		PortList,
            
           	swL2VlanTaggedPorts
            		PortList
		    }
		    
		swL2VlanIndex OBJECT-TYPE
		    SYNTAX      VlanId
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION
		        "The VLAN ID of the VLAN to be created. The range is 1 - 4094."
		    ::= { swL2VlanEntry 1 }
		    
		swL2VlanName OBJECT-TYPE
    		SYNTAX      DisplayString (SIZE (0..32))
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION
		        "The name of the VLAN to be displayed."
		    ::= { swL2VlanEntry 2 }
    
		swL2VlanType OBJECT-TYPE
		    SYNTAX      INTEGER
		    		{
		    		    dynamic(0),
		    		    static(1)		    		
		    		}
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION
		        "The type of the VLAN to be displayed."
		    ::= { swL2VlanEntry 3 }
			
		swL2VlanMemberPorts OBJECT-TYPE
		    SYNTAX      PortList
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION
		        "A range of member ports to the VLAN."
		    ::= { swL2VlanEntry 4 }
    
		swL2VlanStaticPorts OBJECT-TYPE
		    SYNTAX      PortList
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION
		        "A range of static ports to the VLAN."
		    ::= { swL2VlanEntry 5 }
		    
		swL2VlanUntaggedPorts OBJECT-TYPE
		    SYNTAX      PortList
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION
		        "Specifies the additional ports as untagged."
		    ::= { swL2VlanEntry 6 }
		    
		swL2VlanTaggedPorts OBJECT-TYPE
		    SYNTAX      PortList
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION
		        "Specifies the additional ports as tagged."
		    ::= { swL2VlanEntry 7 }
              
-- ***************************************************************************
--  Layer 2  Trap
-- ***************************************************************************
     
        
	swL2Notify	OBJECT IDENTIFIER ::= { swL2MgmtMIBTraps 1 }  
	  
--	swL2NotifyMgmt		OBJECT IDENTIFIER ::= { swL2Notify 1 }  
	swL2NotifyPrefix	OBJECT IDENTIFIER ::= { swL2Notify 2 }  
	
	swL2NotifFirmware OBJECT IDENTIFIER ::= { swL2NotifyPrefix 0 }  
	

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

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

    swL2PortSecurityViolationTrap NOTIFICATION-TYPE
        OBJECTS { 
        			swL2PortSecurityPortIndex,
        		  	swL2PortSecurityViolationMac        					
                }        
        STATUS  current
        DESCRIPTION
            "When the port_security trap is enabled, new MAC addresses that violate 
            the pre-defined port security configuration will trigger trap messages 
            to be sent out."             
        ::= { swL2NotifFirmware 2 }  
      
-- ***************************************************************************
--	notificationBidings
-- ***************************************************************************
	 
    swl2NotificationBidings OBJECT IDENTIFIER ::= { swL2NotifyPrefix 1 }
                
    swL2macNotifyInfo   OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE (0..1024))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the last time reboot information."
        ::= { swl2NotificationBidings 1 }
       
    swL2PortSecurityViolationMac OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  accessible-for-notify
        STATUS  current
        DESCRIPTION
            "This object indicates the MAC address that violates the port security configuration."
        ::= { swl2NotificationBidings 2 } 
END
