-- ************************************************************************
-- ADVANTECH-EKI-PRONEER-MIB: Advantech Industrial Management Switch MIB
--
-- Dec. 2014, Industrial Communication
--
-- Copyright (c) 2014 by Advantech iConnectivity Group, Inc.
-- All rights reserved.
-- ************************************************************************

ADVANTECH-EKI-PRONEER-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY,
    enterprises, 
    OBJECT-TYPE,
    Integer32,
    IpAddress,
    NOTIFICATION-TYPE,
    TimeTicks                     FROM SNMPv2-SMI	
    OBJECT-GROUP                  FROM SNMPv2-CONF
    DisplayString, DateAndTime    FROM SNMPv2-TC;
 
advantech	MODULE-IDENTITY
    LAST-UPDATED    "201412020000Z"
    ORGANIZATION    "Advantech iConnectivity Group"
    CONTACT-INFO
            "       Advantech iConnectivity ICOM
                    E-mail: ICG.Support@advantech.com.tw
					        Guider.Lee@advantech.com.tw"
    DESCRIPTION
        "The MIB module is for Advantech switch, 
		e.g. EKI-XXXX, etc.

            Copyright (C) Advantech iConnectivity Group(2014).
		"
-- * Revision history
	REVISION    "201412020000Z"
	DESCRIPTION
        "Initial version of the Advantech Switch MIB. "
	::= { enterprises 10297 }
aSwitchMIB		OBJECT IDENTIFIER ::= { advantech 202 } 
proneer  		OBJECT IDENTIFIER ::= { aSwitchMIB 7000 }                                                          
                                                            
monitoring		OBJECT IDENTIFIER ::= { proneer 1 }
system			OBJECT IDENTIFIER ::= { proneer 2 }
l2switching		OBJECT IDENTIFIER ::= { proneer 3 }
macAddressTable	OBJECT IDENTIFIER ::= { proneer 4 }
security		OBJECT IDENTIFIER ::= { proneer 5 }
qos				OBJECT IDENTIFIER ::= { proneer 6 }
management		OBJECT IDENTIFIER ::= { proneer 7 }
diagnostics		OBJECT IDENTIFIER ::= { proneer 8 }
maintenance		OBJECT IDENTIFIER ::= { proneer 9 }
traps			OBJECT IDENTIFIER ::= { proneer 99 }

-- status
	deviceInfo				OBJECT IDENTIFIER ::= { monitoring 1 }    
	loggingMessage 		OBJECT IDENTIFIER ::= { monitoring 2 }
	portMonitoring		OBJECT IDENTIFIER ::= { monitoring 3 }
	linkAggregation		OBJECT IDENTIFIER ::= { monitoring 4 }
	lldpStatistics		OBJECT IDENTIFIER ::= { monitoring 5 }
	igmpStatistics		OBJECT IDENTIFIER ::= { monitoring 6 }
	mldStatistics			OBJECT IDENTIFIER ::= { monitoring 7 }

-- status.deviceInfo	
	systemName OBJECT-TYPE
		SYNTAX  DisplayString (SIZE(0..128))
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION	"System name of the switch"
		::= { deviceInfo 1 }
	systemLocation OBJECT-TYPE
		SYNTAX  DisplayString (SIZE(0..255))
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION	"System location of the switch."
		::= { deviceInfo 2 }			
	systemContact OBJECT-TYPE
		SYNTAX  DisplayString (SIZE(0..255))
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION	"System contact of the switch"
		::= { deviceInfo 3 }
	macAddress OBJECT-TYPE
		SYNTAX	DisplayString
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION "MAC address of the switch."
		::= { deviceInfo 4 } 
	ipAddress OBJECT-TYPE
		SYNTAX	IpAddress
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION "IP address of the switch."
		::= { deviceInfo 5 } 		
	subnetMask OBJECT-TYPE
		SYNTAX	IpAddress
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION "Subnet mask of the switch."
		::= { deviceInfo 6 } 		
	gateway OBJECT-TYPE
		SYNTAX	IpAddress
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION "Default gateway of the switch."
		::= { deviceInfo 7 } 		
	loaderVersion OBJECT-TYPE
		SYNTAX  DisplayString 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION	"Boot loader version of the switch."
		::= { deviceInfo 8 }				
	loaderDate OBJECT-TYPE
		SYNTAX  DisplayString 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION	"Boot loader date of the switch."
		::= { deviceInfo 9 }
	firmwareVersion OBJECT-TYPE
		SYNTAX  DisplayString 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION	"Firmware version of the switch."
		::= { deviceInfo 10 }				
	firmwareDate OBJECT-TYPE
		SYNTAX  DisplayString 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION	"Firmware release date of the switch."
		::= { deviceInfo 11 }						
	systemObjectID OBJECT-TYPE
		SYNTAX  OBJECT IDENTIFIER 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION	"SNMP system object ID of the switch."
		::= { deviceInfo 12 }          
	systemUpTime OBJECT-TYPE
		SYNTAX  TimeTicks
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION	"The time since the switch was last re-initialized."
		::= { deviceInfo 13 }   
  ledStatus	OBJECT IDENTIFIER ::= { deviceInfo 14 } 
		ledSYSStatus OBJECT-TYPE
			SYNTAX	INTEGER {
				notSupported(0),
				up(1),
				down(2)		
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The LED status of system operating."
			::= { ledStatus 1 }
		ledRMStatus OBJECT-TYPE
			SYNTAX	INTEGER {
				notSupported(0),
				up(1),
				down(2)		
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The LED status of ring master."
			::= { ledStatus 2 }
		ledPWR1Status OBJECT-TYPE
			SYNTAX	INTEGER {
				notSupported(0),
				up(1),
				down(2)		
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The LED status of power input 1."
			::= { ledStatus 3 }
		ledPWR2Status OBJECT-TYPE
			SYNTAX	INTEGER {
				notSupported(0),
				up(1),
				down(2)		
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The LED status of power input 2."
			::= { ledStatus 4 }
		ledAlarmStatus OBJECT-TYPE
			SYNTAX	INTEGER {
				notSupported(0),
				up(1),
				down(2)		
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The LED status of alarm."
			::= { ledStatus 5 }
		ledPFAILStatus OBJECT-TYPE
			SYNTAX	INTEGER {
				notSupported(0),
				up(1),
				down(2)		
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The LED status of P-Fail."
			::= { ledStatus 6 }
		ledRFAILStatus OBJECT-TYPE
			SYNTAX	INTEGER {
				notSupported(0),
				up(1),
				down(2)		
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The LED status of R-Fail."
			::= { ledStatus 7 }
		ledLOOPStatus OBJECT-TYPE
			SYNTAX	INTEGER {
				notSupported(0),
				up(1),
				down(2)		
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The LED status of loop detection."
			::= { ledStatus 8 }
		ledTempStatus OBJECT-TYPE
			SYNTAX	INTEGER {
				notSupported(0),
				up(1),
				down(2)		
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The LED status of system temperature."
			::= { ledStatus 9 }

	buildVersion OBJECT-TYPE
		SYNTAX  DisplayString 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION	"Build version of the switch."
		::= { deviceInfo 15 }	
												
		
-- status.loggingMessage 
	loggingBufferTable OBJECT-TYPE
    	SYNTAX 	SEQUENCE OF LoggingBufferedEntry
    	MAX-ACCESS  not-accessible
    	STATUS	current
    	DESCRIPTION	"The table of the logging buffer"
    	::= { loggingMessage 1 }
	loggingBufferEntry OBJECT-TYPE
	    SYNTAX 	LoggingBufferedEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION	"The entry of the logging buffer"
	    INDEX	{ loggingBufferIndex }
	    ::= { loggingBufferTable 1 }
		LoggingBufferedEntry ::= SEQUENCE {
			loggingBufferIndex		Integer32,     
			loggingBufferSeverity	INTEGER,  
			loggingBufferCategory	DisplayString,
			loggingBufferTimeStamp	DisplayString,		
			loggingBufferMessage	DisplayString
		}	    
		loggingBufferIndex OBJECT-TYPE
		    SYNTAX  Integer32 (1..65535)
		    MAX-ACCESS  not-accessible
		    STATUS  current
		    DESCRIPTION	"The index of the logging buffer"
		    ::= { loggingBufferEntry 1 }
		loggingBufferSeverity OBJECT-TYPE
			SYNTAX	INTEGER {
				emerg(0),
				alert(1),
				crit(2),
				error(3),
				warning(4),
				notice(5),
				info(6),
				debug(7)		
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The severity of the logging buffer."
			::= { loggingBufferEntry 2 }
		loggingBufferCategory OBJECT-TYPE
			SYNTAX	DisplayString 
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The category of the logging buffer."
			::= { loggingBufferEntry 3 }	
		loggingBufferTimeStamp OBJECT-TYPE
		    SYNTAX  DisplayString
		    MAX-ACCESS  read-only
		    STATUS  current
		    DESCRIPTION "The time stamp of the logging buffer."
		    ::= { loggingBufferEntry 4 }
		loggingBufferMessage OBJECT-TYPE
		    SYNTAX 	DisplayString
		    MAX-ACCESS  read-only
		    STATUS  current
		    DESCRIPTION "The messge of the logging buffer."
		    ::= { loggingBufferEntry 5 }					    
	clearBufferedMsg OBJECT-TYPE
		SYNTAX	INTEGER {
			clear(1)
		}
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION	"Delete the logging message in buffer."
		::= { loggingMessage 2 }  
	loggingFileTable OBJECT-TYPE
    	SYNTAX 	SEQUENCE OF LoggingFileEntry
    	MAX-ACCESS  not-accessible
    	STATUS	current
    	DESCRIPTION	"The table of the logging file"
    	::= { loggingMessage 3 }
	loggingFileEntry OBJECT-TYPE
	    SYNTAX 	LoggingFileEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION	"The entry of the logging file"
	    INDEX	{ loggingFileIndex }
	    ::= { loggingFileTable 1 }
		LoggingFileEntry ::= SEQUENCE {
			loggingFileIndex		Integer32,     
			loggingFileSeverity		INTEGER,  
			loggingFileCategory		DisplayString,
			loggingFileTimeStamp	DisplayString,		
			loggingFileMessage		DisplayString
		}	    
		loggingFileIndex OBJECT-TYPE
		    SYNTAX  Integer32 (1..65535)
		    MAX-ACCESS  not-accessible
		    STATUS  current
		    DESCRIPTION	"The index of the logging file"
		    ::= { loggingFileEntry 1 }
		loggingFileSeverity OBJECT-TYPE
			SYNTAX	INTEGER {
				emerg(0),
				alert(1),
				crit(2),
				error(3),
				warning(4),
				notice(5),
				info(6),
				debug(7)		
			}
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The severity of the logging file"
			::= { loggingFileEntry 2 }
		loggingFileCategory OBJECT-TYPE
			SYNTAX	DisplayString 
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION	"The category of the logging file"
			::= { loggingFileEntry 3 }	
		loggingFileTimeStamp OBJECT-TYPE
		    SYNTAX  DisplayString
		    MAX-ACCESS  read-only
		    STATUS  current
		    DESCRIPTION "The time stamp of the logging file"
		    ::= { loggingFileEntry 4 }
		loggingFileMessage OBJECT-TYPE
		    SYNTAX 	DisplayString
		    MAX-ACCESS  read-only
		    STATUS  current
		    DESCRIPTION "The message of the logging file"
		    ::= { loggingFileEntry 5 }					  
	clearFileMsg OBJECT-TYPE
		SYNTAX	INTEGER {
			clear(1)
		}
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION	"Delete the logging message in file."
		::= { loggingMessage 4 }  
		
-- status.port     
	portStatisticTable OBJECT-TYPE
    	SYNTAX 	SEQUENCE OF PortStatisticEntry
    	MAX-ACCESS  not-accessible
    	STATUS  current
    	DESCRIPTION	"The table of the RMON counters."
    	::= { portMonitoring 1 }
    portStatisticEntry OBJECT-TYPE
	    SYNTAX	PortStatisticEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION	"The entry of the RMON counters."
	    INDEX	{ portStatisticIndex }
	    ::= { portStatisticTable 1 }  
		PortStatisticEntry ::= SEQUENCE {
			portStatisticIndex					Integer32, 
			portCounterClear					INTEGER,    
			ifInOctets							Integer32,
			ifInUcastPkts               		Integer32,
			ifInNUcastPkts						Integer32,
			ifInDiscards						Integer32,
			ifOutOctets							Integer32,
			ifOutUcastPkts						Integer32,
			ifOutNUcastPkts						Integer32,
			ifOutDiscards						Integer32,			
			ifInMulticastPkts					Integer32,
			ifInBroadcastPkts					Integer32,
			ifOutMulticastPkts					Integer32,
			ifOutBroadcastPkts					Integer32,    
			dot3StatsAlignmentErrors			Integer32,
			dot3StatsFCSErrors					Integer32,
			dot3StatsSingleCollisionFrames		Integer32,
			dot3StatsMultipleCollisionFrames	Integer32,
			dot3StatsDeferredTransmissions		Integer32,		
			dot3StatsLateCollisions    			Integer32,
			dot3StatsExcessiveCollisions		Integer32,
			dot3StatsFrameTooLongs				Integer32,
			dot3StatsSymbolErrors				Integer32,
			dot3ControlInUnknownOpcodes			Integer32,
			dot3InPauseFrames					Integer32,
			dot3OutPauseFrames					Integer32
		}
	    portStatisticIndex OBJECT-TYPE
		    SYNTAX 	Integer32 (1..65535)
		    MAX-ACCESS  read-only
		    STATUS  current
		    DESCRIPTION	"The port index of the port counters."
		    ::= { portStatisticEntry 1 }  
		portCounterClear OBJECT-TYPE
		    SYNTAX      INTEGER {
		    	nothing(0),
		     	clear(1)
		    }
		    MAX-ACCESS  read-write
		    STATUS      current
		    DESCRIPTION	"Clear the port counter."
		    ::= { portStatisticEntry 2 }
	    ifInOctets OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The total number of octets received on the interface,
 						including framing characters.
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 3 }		  
	    ifInUcastPkts OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The number of packets, delivered by this sub-layer to a
					 	higher (sub-)layer, which were not addressed to a multicast
					 	or broadcast address at this sub-layer.
					 	
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 4 }
	    ifInNUcastPkts OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The number of packets, delivered by this sub-layer to a
					 	higher (sub-)layer, which were addressed to a multicast or
					 	broadcast address at this sub-layer.
					 	
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime.
					 	
					 	This object is deprecated in favour of ifInMulticastPkts and
					 	ifInBroadcastPkts."
		    ::= { portStatisticEntry 5 }		  
	    ifInDiscards OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The number of inbound packets which were chosen to be
					 	discarded even though no errors had been detected to prevent					 				
					 	their being deliverable to a higher-layer protocol.  One
					 	possible reason for discarding such a packet could be to
					 	free up buffer space.
					 	
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime"
		    ::= { portStatisticEntry 6 }
	    ifOutOctets OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The total number of octets transmitted out of the
					 	interface, including framing characters.
					 	
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 7 }		  
	    ifOutUcastPkts OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The total number of packets that higher-level protocols
					 	requested be transmitted, and which were not addressed to a
					 	multicast or broadcast address at this sub-layer, including
					 	those that were discarded or not sent.
					 	
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 8 }
	    ifOutNUcastPkts OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The total number of packets that higher-level protocols
					 	requested be transmitted, and which were addressed to a
					 	multicast or broadcast address at this sub-layer, including
					 	those that were discarded or not sent.
					 	
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime.
					 	
					 	This object is deprecated in favour of ifOutMulticastPkts
					 	and ifOutBroadcastPkts."
		    ::= { portStatisticEntry 9 }		  
	    ifOutDiscards OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The number of outbound packets which were chosen to be
					 	discarded even though no errors had been detected to prevent
					 	their being transmitted.  One possible reason for discarding
					 	such a packet could be to free up buffer space.
					 	
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 10 }
	    ifInMulticastPkts OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The number of packets, delivered by this sub-layer to a
					 	higher (sub-)layer, which were addressed to a multicast
					 	address at this sub-layer.  For a MAC layer protocol, this
					 	includes both Group and Functional addresses.
					 	
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 11 }		  
	    ifInBroadcastPkts OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The number of packets, delivered by this sub-layer to a
					 	higher (sub-)layer, which were addressed to a broadcast
					 	address at this sub-layer.
					 	
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 12 }
	    ifOutMulticastPkts OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The total number of packets that higher-level protocols
					 	requested be transmitted, and which were addressed to a
					 	multicast address at this sub-layer, including those that
					 	were discarded or not sent.  For a MAC layer protocol, this
					 	includes both Group and Functional addresses.
					 	
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 13 }		  
	    ifOutBroadcastPkts OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The total number of packets that higher-level protocols
					 	requested be transmitted, and which were addressed to a
					 	broadcast address at this sub-layer, including those that
					 	were discarded or not sent.
					 	
					 	Discontinuities in the value of this counter can occur at
					 	re-initialization of the management system, and at other
					 	times as indicated by the value of
					 	ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 14 }		    		        
	    dot3StatsAlignmentErrors OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"A count of frames received on a particular
					 	interface that are not an integral number of
					 	octets in length and do not pass the FCS check.
					 	
					 	The count represented by an instance of this
					 	object is incremented when the alignmentError
					 	status is returned by the MAC service to the
					 	LLC (or other MAC user). Received frames for
					 	which multiple error conditions pertain are,
					 	according to the conventions of IEEE 802.3
					 	Layer Management, counted exclusively according
					 	to the error status presented to the LLC.
					 	
					 	This counter does not increment for group
					 	encoding schemes greater than 4 bits per group.
					 	
					 	For interfaces operating at 10 Gb/s, this
					 	counter can roll over in less than 5 minutes if
					 	it is incrementing at its maximum rate.  Since
					 	that amount of time could be less than a
					 	management station's poll cycle time, in order
					 	to avoid a loss of information, a management
					 	station is advised to poll the
					 	dot3HCStatsAlignmentErrors object for 10 Gb/s
					 	or faster interfaces.
					 	
					 	Discontinuities in the value of this counter can
					 	occur at re-initialization of the management
					 	system, and at other times as indicated by the
					 	value of ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 15 }		  
	    dot3StatsFCSErrors OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"A count of frames received on a particular
					 	interface that are an integral number of octets
					 	in length but do not pass the FCS check.  This
					 	count does not include frames received with
					 	frame-too-long or frame-too-short error.
					 	
					 	The count represented by an instance of this
					 	object is incremented when the frameCheckError
					 	status is returned by the MAC service to the
					 	LLC (or other MAC user). Received frames for
					 	which multiple error conditions pertain are,
					 	according to the conventions of IEEE 802.3
					 	Layer Management, counted exclusively according
					 	to the error status presented to the LLC.
					 	
					 	Note:  Coding errors detected by the physical
					 	layer for speeds above 10 Mb/s will cause the
					 	frame to fail the FCS check.
					 	
					 	For interfaces operating at 10 Gb/s, this
					 	counter can roll over in less than 5 minutes if
					 	it is incrementing at its maximum rate.  Since
					 	that amount of time could be less than a
					 	management station's poll cycle time, in order
					 	to avoid a loss of information, a management
					 	station is advised to poll the
					 	dot3HCStatsFCSErrors object for 10 Gb/s or
					 	faster interfaces.
					 	
					 	Discontinuities in the value of this counter can
					 	occur at re-initialization of the management
					 	system, and at other times as indicated by the
					 	value of ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 16 }
	    dot3StatsSingleCollisionFrames OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"A count of frames that are involved in a single
					 	collision, and are subsequently transmitted
					 	successfully.
					 	
					 	A frame that is counted by an instance of this
					 	object is also counted by the corresponding
					 	instance of either the ifOutUcastPkts,
					 	ifOutMulticastPkts, or ifOutBroadcastPkts,
					 	and is not counted by the corresponding
					 	instance of the dot3StatsMultipleCollisionFrames
					 	object.
					 	
					 	This counter does not increment when the
					 	interface is operating in full-duplex mode.
					 	
					 	Discontinuities in the value of this counter can
					 	occur at re-initialization of the management
					 	system, and at other times as indicated by the
					 	value of ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 17 }		  
	    dot3StatsMultipleCollisionFrames OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"A count of frames that are involved in more
					 	than one collision and are subsequently
					 	transmitted successfully.
					 	
					 	A frame that is counted by an instance of this
					 	object is also counted by the corresponding
					 	instance of either the ifOutUcastPkts,
					 	ifOutMulticastPkts, or ifOutBroadcastPkts,
					 	and is not counted by the corresponding
					 	instance of the dot3StatsSingleCollisionFrames
					 	object.
					 	
					 	This counter does not increment when the
					 	interface is operating in full-duplex mode.
					 	
					 	Discontinuities in the value of this counter can
					 	occur at re-initialization of the management
					 	system, and at other times as indicated by the
					 	value of ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 18 }
	    dot3StatsDeferredTransmissions OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"A count of frames for which the first
					 	transmission attempt on a particular interface
					 	is delayed because the medium is busy.
					 	
					 	The count represented by an instance of this
					 	object does not include frames involved in
					 	collisions.
					 	
					 	This counter does not increment when the
					 	interface is operating in full-duplex mode.
					 	
					 	Discontinuities in the value of this counter can
					 	occur at re-initialization of the management
					 	system, and at other times as indicated by the
					 	value of ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 19 }		  
	    dot3StatsLateCollisions OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"The number of times that a collision is
					 	detected on a particular interface later than
					 	one slotTime into the transmission of a packet.
					 	
					 	A (late) collision included in a count
					 	represented by an instance of this object is
					 	also considered as a (generic) collision for
					 	purposes of other collision-related
					 	statistics."
		    ::= { portStatisticEntry 20 }
	    dot3StatsExcessiveCollisions OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"A count of frames for which transmission on a
					 	particular interface fails due to excessive
					 	collisions.
					 	
					 	This counter does not increment when the
					 	interface is operating in full-duplex mode.
					 	
					 	Discontinuities in the value of this counter can
					 	occur at re-initialization of the management
					 	system, and at other times as indicated by the
					 	value of ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 21 }		  
	    dot3StatsFrameTooLongs OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"A count of frames received on a particular
					 	interface that exceed the maximum permitted
					 	frame size.
					 	
					 	The count represented by an instance of this
					 	object is incremented when the frameTooLong
					 	status is returned by the MAC service to the
					 	LLC (or other MAC user). Received frames for
					 	which multiple error conditions pertain are,
					 	according to the conventions of IEEE 802.3
					 	Layer Management, counted exclusively according
					 	to the error status presented to the LLC.
					 	
					 	For interfaces operating at 10 Gb/s, this
					 	counter can roll over in less than 80 minutes if
					 	it is incrementing at its maximum rate.  Since
					 	that amount of time could be less than a
					 	management station's poll cycle time, in order
					 	to avoid a loss of information, a management
					 	station is advised to poll the
					 	dot3HCStatsFrameTooLongs object for 10 Gb/s
					 	or faster interfaces.
					 	
					 	Discontinuities in the value of this counter can
					 	occur at re-initialization of the management
					 	system, and at other times as indicated by the
					 	value of ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 22 }
	    dot3StatsSymbolErrors OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"For an interface operating at 100 Mb/s, the
					 	number of times there was an invalid data symbol
					 	when a valid carrier was present.
					 	
					 	For an interface operating in half-duplex mode
					 	at 1000 Mb/s, the number of times the receiving
					 	media is non-idle (a carrier event) for a period
					 	of time equal to or greater than slotTime, and
					 	during which there was at least one occurrence
					 	of an event that causes the PHY to indicate
					 	'Data reception error' or 'carrier extend error'
					 	on the GMII.
					 	
					 	For an interface operating in full-duplex mode
					 	at 1000 Mb/s, the number of times the receiving
					 	media is non-idle (a carrier event) for a period
					 	of time equal to or greater than minFrameSize,
					 	and during which there was at least one
					 	occurrence of an event that causes the PHY to
					 	indicate 'Data reception error' on the GMII.
					 	
					 	For an interface operating at 10 Gb/s, the
					 	number of times the receiving media is non-idle
					 	(a carrier event) for a period of time equal to
					 	or greater than minFrameSize, and during which
					 	there was at least one occurrence of an event
					 	that causes the PHY to indicate 'Receive Error'
					 	on the XGMII.
					 	
					 	The count represented by an instance of this
					 	object is incremented at most once per carrier
					 	event, even if multiple symbol errors occur
					 	during the carrier event.  This count does
					 	not increment if a collision is present.
					 	
					 	This counter does not increment when the
					 	interface is operating at 10 Mb/s.
					 	
					 	For interfaces operating at 10 Gb/s, this
					 	counter can roll over in less than 5 minutes if
					 	it is incrementing at its maximum rate.  Since
					 	that amount of time could be less than a
					 	management station's poll cycle time, in order
					 	to avoid a loss of information, a management
					 	station is advised to poll the
					 	dot3HCStatsSymbolErrors object for 10 Gb/s
					 	or faster interfaces.
					 	
					 	Discontinuities in the value of this counter can
					 	occur at re-initialization of the management
					 	system, and at other times as indicated by the
					 	value of ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 23 }		  
	    dot3ControlInUnknownOpcodes OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"A count of MAC Control frames received on this
					 	interface that contain an opcode that is not
					 	supported by this device.
					 	
					 	For interfaces operating at 10 Gb/s, this
					 	counter can roll over in less than 5 minutes if
					 	it is incrementing at its maximum rate.  Since
					 	that amount of time could be less than a
					 	management station's poll cycle time, in order
					 	to avoid a loss of information, a management
					 	station is advised to poll the
					 	dot3HCControlInUnknownOpcodes object for 10 Gb/s
					 	or faster interfaces.
					 	
					 	Discontinuities in the value of this counter can
					 	occur at re-initialization of the management
					 	system, and at other times as indicated by the
					 	value of ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 24 }
	    dot3InPauseFrames OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"A count of MAC Control frames received on this
					 	interface with an opcode indicating the PAUSE
					 	operation.
					 	
					 	This counter does not increment when the
					 	interface is operating in half-duplex mode.
					 	
					 	For interfaces operating at 10 Gb/s, this
					 	counter can roll over in less than 5 minutes if
					 	it is incrementing at its maximum rate.  Since
					 	that amount of time could be less than a
					 	management station's poll cycle time, in order
					 	to avoid a loss of information, a management
					 	station is advised to poll the
					 	dot3HCInPauseFrames object for 10 Gb/s or
					 	faster interfaces.
					 	
					 	Discontinuities in the value of this counter can
					 	occur at re-initialization of the management
					 	system, and at other times as indicated by the
					 	value of ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 25 }		  
	    dot3OutPauseFrames OBJECT-TYPE
		    SYNTAX  	Integer32
		    MAX-ACCESS  read-only
		    STATUS  	current
		    DESCRIPTION	"A count of MAC Control frames transmitted on
					 	this interface with an opcode indicating the
					 	PAUSE operation.
					 	
					 	This counter does not increment when the
					 	interface is operating in half-duplex mode.
					 	
					 	For interfaces operating at 10 Gb/s, this
					 	counter can roll over in less than 5 minutes if
					 	it is incrementing at its maximum rate.  Since
					 	that amount of time could be less than a
					 	management station's poll cycle time, in order
					 	to avoid a loss of information, a management
					 	station is advised to poll the
					 	dot3HCOutPauseFrames object for 10 Gb/s or
					 	faster interfaces.
					 	
					 	Discontinuities in the value of this counter can
					 	occur at re-initialization of the management
					 	system, and at other times as indicated by the
					 	value of ifCounterDiscontinuityTime."
		    ::= { portStatisticEntry 26 }			    
-- status.linkAggregation
	lagStatusTable 	OBJECT-TYPE
    	SYNTAX  	SEQUENCE OF LagStatusEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION	"The table of the link aggregation group"
    	::= { linkAggregation 1 }
	lagStatusEntry OBJECT-TYPE
	    SYNTAX      LagStatusEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION	"The entry of the link aggregation group"
	    INDEX	{ lagStatusIndex }
	    ::= { lagStatusTable 1 }
		LagStatusEntry ::= SEQUENCE {
			lagStatusIndex			Integer32,     
			lagStatusName			DisplayString,  
			lagStatusType			INTEGER,
			lagStatusLinkState		INTEGER,		
			lagStatusActiveMember	DisplayString,
			lagStatusStandbyMember	DisplayString
		}	    
		lagStatusIndex OBJECT-TYPE
		    SYNTAX      Integer32 (1..65535)
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"The name of the link aggregation group"
		    ::= { lagStatusEntry 1 }
        lagStatusName OBJECT-TYPE
		    SYNTAX      DisplayString
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"The LAG port description"
		    ::= { lagStatusEntry 2 }
		lagStatusType OBJECT-TYPE
		    SYNTAX      INTEGER {
		    	static(1),
		    	lacp(2),
		    	none(3)
		    }
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"The type of the LAG.
		    			Static: The group of ports assigned to a static LAG
						are always active members.
						LACP: The group of ports assigned to dynamic LAG
						are candidate ports. LACP determines which candidate
						ports are active member ports."
		    ::= { lagStatusEntry 3 }
		lagStatusLinkState OBJECT-TYPE
		    SYNTAX      INTEGER {
		     	up(1),
		     	down(2),
		     	notPresent(3)
		    }
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"LAG port link status"
		    ::= { lagStatusEntry 4 }
		lagStatusActiveMember OBJECT-TYPE
		    SYNTAX		DisplayString
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Active member ports of the LAG"
		    ::= { lagStatusEntry 5 }  
		lagStatusStandbyMember OBJECT-TYPE
		    SYNTAX		DisplayString
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Inactive or candudate member ports of the LAG"
		    ::= { lagStatusEntry 6 }

	lacpInfoTable 	OBJECT-TYPE
    	SYNTAX  	SEQUENCE OF LacpInfoEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION	"The table of LACP"
    	::= { linkAggregation 2 }
	lacpInfoEntry OBJECT-TYPE
	    SYNTAX      LacpInfoEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION	"The entry of LACP"
	    INDEX	{ lacpInfoLagIndex, lacpInfoPortIndex }
	    ::= { lacpInfoTable 1 }
		LacpInfoEntry ::= SEQUENCE {
			lacpInfoLagIndex		DisplayString,  
			lacpInfoPortIndex		DisplayString,    
			lacpInfoPartnerSysId	DisplayString,  
			lacpInfoPnkey			DisplayString,
			lacpInfoAtkey			DisplayString,
			lacpInfoSel				DisplayString,
			lacpInfoMux				DisplayString,
			lacpInfoReceiv			DisplayString,
			lacpInfoPrdtx			DisplayString,		
			lacpInfoAtstat			DisplayString,
			lacpInfoPnstat			DisplayString
		}	    
		lacpInfoLagIndex OBJECT-TYPE
		    SYNTAX      DisplayString
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"The LACP name"
		    ::= { lacpInfoEntry 1 } 
		lacpInfoPortIndex OBJECT-TYPE
		    SYNTAX      DisplayString
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Member port name"
		    ::= { lacpInfoEntry 2 }
        lacpInfoPartnerSysId OBJECT-TYPE
		    SYNTAX      DisplayString
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"The system ID of link partner."
		    ::= { lacpInfoEntry 3 }
		lacpInfoPnkey OBJECT-TYPE
		    SYNTAX      DisplayString
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Port key of partner"
		    ::= { lacpInfoEntry 4 }
		lacpInfoAtkey OBJECT-TYPE
		    SYNTAX      DisplayString
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Port key of actor"
		    ::= { lacpInfoEntry 5 }
		lacpInfoSel OBJECT-TYPE
		    SYNTAX      DisplayString 
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"LACP selection logic status of the port"
		    ::= { lacpInfoEntry 6 }
		lacpInfoMux OBJECT-TYPE
		    SYNTAX      DisplayString
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"LACP mux state machine status of the port"
		    ::= { lacpInfoEntry 7 }
		lacpInfoReceiv OBJECT-TYPE
		    SYNTAX      DisplayString 
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"LACP receive state machine status of the port"
		    ::= { lacpInfoEntry 8 }
		lacpInfoPrdtx OBJECT-TYPE
		    SYNTAX      DisplayString 
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"LACP periodic transmission state machine status of the port."
		    ::= { lacpInfoEntry 9 }
		lacpInfoAtstat OBJECT-TYPE
		    SYNTAX		DisplayString
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"The actor state field of LACP PDU description."
		    ::= { lacpInfoEntry 10 }  
		lacpInfoPnstat OBJECT-TYPE
		    SYNTAX		DisplayString
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"The partner state field of LACP PDU description."
		    ::= { lacpInfoEntry 11 }
		    
-- status.lldpStatistucs   
	lldpClearStatistics	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	clear(1)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Clear the LLDP statistics"
		::= { lldpStatistics 1 }	
	inertions	OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION "The number of times the complete set of infomation
					advertised by a partcular MAC Service Access Point(MSAP)
					has been inserted into tables associated with the remote
					systems"
		::= { lldpStatistics 2 }
	deletions	OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION "The number of times the complete set of infomation
					advertised by MSAP has been deleted from tables associated 
					with the remote	systems"
		::= { lldpStatistics 3 }
	drops	OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION "The number of times the complete set of information
					advertised by MSAP could not be entered into tables
					associated with the remote systems because of insufficient
					resources."
		::= { lldpStatistics 4 }
	ageouts	OBJECT-TYPE
		SYNTAX		Integer32
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION "The number of times the complete set of information
					advertised by MSAP has been deleted from tables associated
					with the remote systems because the information timeliness
					interval has expired."
		::= { lldpStatistics 5 }
	lldpPortStatisticsTable OBJECT-TYPE
    	SYNTAX  	SEQUENCE OF LLDPPortStatisticsEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION	"The table of LLDP port statistics"
    	::= { lldpStatistics 6 }
	lldpPortStatisticsEntry OBJECT-TYPE
	    SYNTAX      LLDPPortStatisticsEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION	"The entry of LLDP port statistics"
	    INDEX	{ lldpPortStatIndex }
	    ::= { lldpPortStatisticsTable 1 }
		LLDPPortStatisticsEntry ::= SEQUENCE {
			lldpPortStatIndex				Integer32,     
			lldpPortStatTotalTxFrame		Integer32,
			lldpPortStatTotalRxFrame		Integer32,
			lldpPortStatDiscardRxFrame		Integer32,
			lldpPortStatErrorRxFrame  		Integer32,
			lldpPortStatDiscardRxTlv		Integer32,
			lldpPortStatUnrecognizedRxTlv	Integer32,
			lldpPortStatTotalRxAgeouts		Integer32
		}	    
		lldpPortStatIndex OBJECT-TYPE
		    SYNTAX      Integer32 (1..65535)
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Interface or port number."
		    ::= { lldpPortStatisticsEntry 1 }		
		lldpPortStatTotalTxFrame OBJECT-TYPE
		    SYNTAX      Integer32
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Number of LLDP frames transmitted on the corresponding
						port."
		    ::= { lldpPortStatisticsEntry 2 }
		lldpPortStatTotalRxFrame OBJECT-TYPE
		    SYNTAX      Integer32
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Number of LLDP frames received by this LLDP agent on the
						corresponding port, while the LLDP agent is enabled"
		    ::= { lldpPortStatisticsEntry 3 }
		lldpPortStatDiscardRxFrame OBJECT-TYPE
		    SYNTAX      Integer32
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Number of LLDP frames discard for any reason by this LLDP 
		    			agent on the corresponding port"
		    ::= { lldpPortStatisticsEntry 4 }
		lldpPortStatErrorRxFrame OBJECT-TYPE
		    SYNTAX      Integer32
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Number of invalid LLDP frames received by the LLDP agent 
		    			on the corresponding port, while the LLDP agent is enabled"
		    ::= { lldpPortStatisticsEntry 5 }
		lldpPortStatDiscardRxTlv OBJECT-TYPE
		    SYNTAX      Integer32
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Number of TLVs LLDP frames discard for any reason by 
		    			this LLDP agent on the corresponding port"
		    ::= { lldpPortStatisticsEntry 6 }
		lldpPortStatUnrecognizedRxTlv OBJECT-TYPE
		    SYNTAX      Integer32
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Number of TLVs LLDP frames that are unrecognized while 
		    			this LLDP agent is enabled"
		    ::= { lldpPortStatisticsEntry 7 }
		lldpPortStatTotalRxAgeouts OBJECT-TYPE
		    SYNTAX      Integer32
		    MAX-ACCESS  read-only
		    STATUS      current
		    DESCRIPTION	"Number of age out LLDP frames"
		    ::= { lldpPortStatisticsEntry 8 }

-- status.igmpStatistics
	totalRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping total Rx counter"
	    ::= { igmpStatistics 1 }	    
	validRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping valid Rx counter"
	    ::= { igmpStatistics 2 }	
	invalidRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping invalid Rx counter"
	    ::= { igmpStatistics 3 }	
	otherRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping other Rx counter"
	    ::= { igmpStatistics 4 }	
	leaveRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping leave Rx counter"
	    ::= { igmpStatistics 5 }	
	reportRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping report Rx counter"
	    ::= { igmpStatistics 6 }	
	generalQueryRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping general query Rx counter"
	    ::= { igmpStatistics 7 }	
	specialGroupQueryRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping special group query Rx counter"
	    ::= { igmpStatistics 8 }	
	specialGroupSourceQueryRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping special group source query Rx counter"
	    ::= { igmpStatistics 9 }	
	leaveTx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping leave Tx counter"
	    ::= { igmpStatistics 10 }	
	reportTx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping report Tx counter"
	    ::= { igmpStatistics 11 }	
	generalQueryTx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping general query Tx counter"
	    ::= { igmpStatistics 12 }	
	specialGroupQueryTx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping special group query Tx counter"
	    ::= { igmpStatistics 13 }	
	specialGroupSourceQueryTx OBJECT-TYPE
	    SYNTAX      Integer32                                                                                                                                                                                                              
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"IGMP snooping special group source query Tx counter"
	    ::= { igmpStatistics 14 }
	clearigmpStatistics OBJECT-TYPE
	    SYNTAX      INTEGER {
	     	clear(1)
	    }
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION	"Clear IGMP snooping statistics counter"
	    ::= { igmpStatistics 15 } 

-- status.mldStatistics
	mldtotalRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD total Rx counter"
	    ::= { mldStatistics 1 }	    
	mldvalidRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD valid Rx counter"
	    ::= { mldStatistics 2 }	
	mldinvalidRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD invalid Rx counter"
	    ::= { mldStatistics 3 }	
	mldotherRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD other Rx counter"
	    ::= { mldStatistics 4 }	
	mldleaveRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD leave Rx counter"
	    ::= { mldStatistics 5 }	
	mldreportRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD report Rx counter"
	    ::= { mldStatistics 6 }	
	mldgeneralQueryRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD general query Rx counter"
	    ::= { mldStatistics 7 }	
	mldspecialGroupQueryRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD special group query Rx counter"
	    ::= { mldStatistics 8 }	
	mldspecialGroupSourceQueryRx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD special group source query Rx counter"
	    ::= { mldStatistics 9 }	
	mldleaveTx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD leave Tx counter"
	    ::= { mldStatistics 10 }	
	mldreportTx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD report Tx counter"
	    ::= { mldStatistics 11 }	
	mldgeneralQueryTx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD general query Tx counter"
	    ::= { mldStatistics 12 }	
	mldspecialGroupQueryTx OBJECT-TYPE
	    SYNTAX      Integer32
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD special group query Tx counter"
	    ::= { mldStatistics 13 }	
	mldspecialGroupSourceQueryTx OBJECT-TYPE
	    SYNTAX      Integer32                                                                                                                                                                                                              
	    MAX-ACCESS  read-only
	    STATUS      current
	    DESCRIPTION	"MLD special group source query Tx counter"
	    ::= { mldStatistics 14 }
	clearmldStatistics OBJECT-TYPE
	    SYNTAX      INTEGER {
	     	clear(1)
	    }
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION	"Clear MLD statistics counter"
	    ::= { mldStatistics 15 } 

	    
-- system
	ipSettings		OBJECT IDENTIFIER ::= { system 1 }
	ipv6Settings     OBJECT IDENTIFIER ::= { system 2 }
	managementVlan OBJECT-TYPE
		SYNTAX      Integer32 (1..4094)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"This allows the entry of a VLAN from which a management station
					will be allowed to manage the device using TCP/IP (in-band via
					web manager or Telnet). Management stations that are on VLANs
					other than the one seleted here will not be able to manage the
					Switch. The default management VLAN is VLAN 1."
		::= { system 3 }
	systemTime		OBJECT IDENTIFIER ::= { system 4 }  
	sfp				OBJECT IDENTIFIER ::= { system 5 }    
	dhcpClientOpt82	OBJECT IDENTIFIER ::= { system 6 }
	networkPort		OBJECT IDENTIFIER ::= { system 7 }
-- system.ipSettings
	ipv4Mode OBJECT-TYPE
		SYNTAX      INTEGER {
		  	static(1),
		    dhcp(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"the mode of network connection
					Static: Enable static IP address.
					DHCP: Enable DHCP to obtain IP information from a
					DHCP server on the network."
		::= { ipSettings 1 }
	ipv4Address OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"If static mode is enabled, enter IP address in this field."
		::= { ipSettings 2 }
	ipv4SubnetMask OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"If static mode is enabled, enter subnet mask in this field."
		::= { ipSettings 3 }
	ipv4Gateway OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"If static mode is enabled, enter gateway address in this field."
		::= { ipSettings 4 }
	ipv4DnsServer1 OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"If static mode is enabled, enter primary DNS server address
					in this field"
		::= { ipSettings 5 }
	ipv4DnsServer2 OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"If static mode is enabled, enter secondary DNS server address
					in this field"
		::= { ipSettings 6 } 
	interfaceIpv4Table 	OBJECT-TYPE
    	SYNTAX  	SEQUENCE OF InterfaceIpv4Entry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION	"The table of interface IP address"
    	::= { ipSettings 7 }
	interfaceIpv4Entry OBJECT-TYPE
	    SYNTAX      InterfaceIpv4Entry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION	"The entry of interface IP address"
	    INDEX	{ interfaceIpv4Index }
	    ::= { interfaceIpv4Table 1 }
		InterfaceIpv4Entry ::= SEQUENCE {
			interfaceIpv4Index		Integer32,     
			interfaceIpv4Vlan		Integer32,
			interfaceIpv4Mode		INTEGER,  
			interfaceIpv4Address	IpAddress,
			interfaceIpv4SubnetMask IpAddress,
			interfaceIpv4Gateway	IpAddress,
			interCurrIpv4DhcpState  INTEGER,
			interCurrIpv4Address	IpAddress,
			interCurrIpv4SubnetMask IpAddress,
			interCurrIpv4Gateway	IpAddress
		}		
		interfaceIpv4Index OBJECT-TYPE
			SYNTAX      Integer32 (1..32)
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The index of interface IPv4 table"
			::= { interfaceIpv4Entry 1 }
		interfaceIpv4Vlan OBJECT-TYPE
			SYNTAX      Integer32 (1..4094)
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The VLAN ID of interface IPv4 table"
			::= { interfaceIpv4Entry 2 } 			 
		interfaceIpv4Mode OBJECT-TYPE
			SYNTAX      INTEGER {
			  	static(1),
			    dhcp(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"the mode of network connection
						Static: Enable static IP address.
						DHCP: Enable DHCP to obtain IP information from a
						DHCP server on the network."
			::= { interfaceIpv4Entry 3 }
		interfaceIpv4Address OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"If static mode is enabled, enter IP address in this field."
			::= { interfaceIpv4Entry 4 }
		interfaceIpv4SubnetMask OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"If static mode is enabled, enter subnet mask in this field."
			::= { interfaceIpv4Entry 5 }
		interfaceIpv4Gateway OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"If static mode is enabled, enter gateway address in this field."
			::= { interfaceIpv4Entry 6 } 
		interCurrIpv4DhcpState OBJECT-TYPE
			SYNTAX      INTEGER {
			  	enable(1),
			    disable(2)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The current status of IPv4 DHCP."
			::= { interfaceIpv4Entry 7 }			
		interCurrIpv4Address OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The current IPv4 address"
			::= { interfaceIpv4Entry 8 }
		interCurrIpv4SubnetMask OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The current IPv4 subnet mask"
			::= { interfaceIpv4Entry 9 }
		interCurrIpv4Gateway OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The current IPv4 gateway."
			::= { interfaceIpv4Entry 10 }			
-- system.ipv6Settings
	autoConfiguration OBJECT-TYPE
		SYNTAX      INTEGER {
		  	enable(1),
		    disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"IPv6 Auto Configuration state."
		::= { ipv6Settings 1 }
	ipv6Address OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"If auto configuration mode is disabled, enter IPv6 address in
					this field."
		::= { ipv6Settings 2 }
	ipv6SubnetMask OBJECT-TYPE
		SYNTAX      Integer32 (0..128)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"If auto configuration mode is disabled, enter IPv6 submask in
					this field."
		::= { ipv6Settings 3 }
	ipv6Gateway OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"If auto configuration mode is disabled, enter IPv6 gateway
					address in this field."
		::= { ipv6Settings 4 }		
	dhcpv6Client OBJECT-TYPE
		SYNTAX      INTEGER {
		  	enable(1),
		    disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"DHCPv6 client state"
		::= { ipv6Settings 5 } 
	ipv6InUseTable 	OBJECT-TYPE
    	SYNTAX  	SEQUENCE OF IPv6InUseEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION	"The table of in-use IPv6 address"
    	::= { ipv6Settings 6 }
	ipv6InUseEntry OBJECT-TYPE
	    SYNTAX      IPv6InUseEntry
	    MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION	"The entry of in-use IPv6 address"
	    INDEX	{ ipv6InUseIndex }
	    ::= { ipv6InUseTable 1 }
		IPv6InUseEntry ::= SEQUENCE {
			ipv6InUseIndex		Integer32,     
			ipv6InUseAddress	DisplayString,  
			ipv6InUseSubnetMask	Integer32
		}		
		ipv6InUseIndex OBJECT-TYPE
			SYNTAX      Integer32 (1..32)
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The current use IPv6 submask"
			::= { ipv6InUseEntry 1 }
		ipv6InUseAddress OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The current use IPv6 address"
			::= { ipv6InUseEntry 2 }
		ipv6InUseSubnetMask OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The current use IPv6 submask"
			::= { ipv6InUseEntry 3 }
	ipv6InUseRouter OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	"The current use IPv6 router address"
		::= { ipv6Settings 7 }  
	dhcpv6DUID OBJECT-TYPE
		SYNTAX 		DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	"The DHCPv6 DUID"
		::= { ipv6Settings 8 }
	dhcpv6IPAddress OBJECT-TYPE
		SYNTAX 		DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	"The DHCPv6 IP address"
		::= { ipv6Settings 9 }
		
					
-- system.systemTime  
	systemTimeSetting		OBJECT IDENTIFIER ::= { systemTime 1 }
	enableSNTP OBJECT-TYPE
		SYNTAX      INTEGER {
		  	enable(1),
		    disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"enable or disable using SNTP server."
		::= { systemTimeSetting 1 }	
   	manualTime		OBJECT IDENTIFIER ::= { systemTimeSetting 2 }
		year OBJECT-TYPE
			SYNTAX      Integer32 (2000..2035)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The year of the switch"
			::= { manualTime 1 }
		month OBJECT-TYPE
			SYNTAX      Integer32 (1..12)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The month of the switch"
			::= { manualTime 2 }
		day OBJECT-TYPE
			SYNTAX      Integer32 (1..31)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The day of the switch"
			::= { manualTime 3 }
		hours OBJECT-TYPE
			SYNTAX      Integer32 (0..23)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The hour of the switch"
			::= { manualTime 4 }
		minutes OBJECT-TYPE
			SYNTAX      Integer32 (0..59)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The minutes of the switch"
			::= { manualTime 5 }
		seconds OBJECT-TYPE
			SYNTAX      Integer32 (0..59)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The second of the switch"
			::= { manualTime 6 }
 	timeZone	OBJECT-TYPE
		SYNTAX	INTEGER {
			none (0),
			gmtminus1200-International-Date-Line-West (1),
			gmtminus1100-MidwayIsland-Samoa (2),
			gmtminus1000-Hawaii (3),
			gmtminus0900-Alaska (4),
			gmtminus0800-Pacific-Time-US-and-Canada (5),
			gmtminus0800-Tijuana-Baja-California (6),
			gmtminus0700-Arizona (7),
			gmtminus0700-Chihuahua-La-Paz-Mazatlan-New (8),
			gmtminus0700-Chihuahua-La-Paz-Mazatlan-Old (9),
			gmtminus0700-Mountain-Time-US-and-Canada (10),
			gmtminus0600-Central-America (11),
			gmtminus0600-Central-Time-US-and-Canada (12),
			gmtminus0600-Guadalajara-Mexico-City-Monterrey-New (13),
			gmtminus0600-Guadalajara-Mexico-City-Monterrey-Old (14),
			gmtminus0600-Saskatchewan (15),
			gmtminus0500-Bogota-Lima-Quito-Rio-Branco (16),
			gmtminus0500-Eastern-Time-US-and-Canada (17),
			gmtminus0500-Indiana-East (18),
			gmtminus0430-Caracas (19),
			gmtminus0400-Atlantic-Time-Canada (20),
			gmtminus0400-La-Paz (21),
			gmtminus0400-Manaus (22),
			gmtminus0400-Santiago (23),
			gmtminus0330-Newfoundland (24),
			gmtminus0300-Brasilia (25),
			gmtminus0300-Buenos-Aires (26),
			gmtminus0300-Georgetown (27),
			gmtminus0300-Greenland (28),
			gmtminus0300-Montevideo (29),
			gmtminus0200-Mid-Atlantic (30),
			gmtminus0100-Azores (31),
			gmtminus0100-Cape-Verde-Is (32),
			gmt-Casablanca (33),
			gmt-Greenwich-Mean-Time-Dublin-Edinburgh-Lisbon-London (34),
			gmt-Monrovia-Reykjavik (35),
			gmtplus0100-Amsterdam-Berlin-Bern-Rome-Stockholm-Vienna (36),
			gmtplus0100-Belgrade-Bratislava-Budapest-Ljubljana-Prague (37),
			gmtplus0100-Brussels-Copenhagen-Madrid-Paris (38),
			gmtplus0100-Sarajevo-Skopje-Warsaw-Zagreb (39),
			gmtplus0100-West-Central-Africa (40),
			gmtplus0200-Amman (41),
			gmtplus0200-Athens-Bucharest-Istanbul (42),
			gmtplus0200-Beirut (43),
			gmtplus0200-Cairo (44),
			gmtplus0200-Harare-Pretoria (45),
			gmtplus0200-Helsinki-Kyiv-Riga-Sofia-Tallinn-Vilnius (46),
			gmtplus0200-Jerusalem (47),
			gmtplus0200-Minsk (48),
			gmtplus0200-Windhoek (49),
			gmtplus0300-Baghdad (50),
			gmtplus0300-Kuwait-Riyadh (51),
			gmtplus0300-Moscow-St-Petersburg-Volgograd (52),
			gmtplus0300-Nairobi (53),
			gmtplus0300-Tbilisi (54),
			gmtplus0330-Tehran (55),
			gmtplus0400-Abu-Dhabi-Muscat (56),
			gmtplus0400-Baku (57),
			gmtplus0400-Caucasus-Standard-Time (58),
			gmtplus0400-Port-Louis (59),
			gmtplus0400-Yerevan (60),
			gmtplus0430-Kabul (61),
			gmtplus0500-Ekaterinburg (62),
			gmtplus0500-Islamabad-Karachi (63),
			gmtplus0500-Tashkent (64),
			gmtplus0530-Chennai-Kolkata-Mumbai-New-Delhi (65),
			gmtplus0530-Sri-Jayawardenepura (66),
			gmtplus0545-Kathmandu (67),
			gmtplus0600-Almaty-Novosibirsk (68),
			gmtplus0600-Astana-Dhaka (69),
			gmtplus0630-Yangon-Rangoon (70),
			gmtplus0700-Bangkok-Hanoi-Jakarta (71),
			gmtplus0700-Krasnoyarsk (72),
			gmtplus0800-Beijing-Chongqing-Hong-Kong-Urumqi (73),
			gmtplus0800-Irkutsk-Ulaan-Bataar (74),
			gmtplus0800-Kuala-Lumpur-Singapore (75),
			gmtplus0800-Perth (76),
			gmtplus0800-Taipei (77),
			gmtplus0900-Osaka-Sapporo-Tokyo (78),
			gmtplus0900-Seoul (79),
			gmtplus0900-Yakutsk (80),
			gmtplus0930-Adelaide (81),
			gmtplus0930-Darwin (82),
			gmtplus1000-Brisbane (83),
			gmtplus1000-Canberra-Melbourne-Sydney (84),
			gmtplus1000-Guam-Port-Moresby (85),
			gmtplus1000-Hobart (86),
			gmtplus1000-Vladivostok (87),
			gmtplus1100-Magadan-Solomon-Is-New-Caledonia (88),
			gmtplus1200-Auckland-Wellington (89),
			gmtplus1200-Fiji-Kamchatka-Marshall-Is (90),
			gmtplus1300-Nuku-alofa (91)
		}		
		MAX-ACCESS  read-write
    	STATUS      current
    	DESCRIPTION "The UTC Timezone of the switch."
    	::= { systemTimeSetting 3 }
	daylightSaving OBJECT-TYPE
		SYNTAX      INTEGER {
		  	disable(1),
		    recurring(2),
		    no-recurring(3),
			usa(4),
			european(5)		    	
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"the mode of daylight saving time.
					Disable: Disable daylight saving time.
					Recurring: Using recurring mode of daylight saving time
					Non-Recurring: Using non-recurring mode of daylight saving time
					USA: Using daylight saving time in the United States that
					starts on the second Sunday of March and ends on the first
					Sunday of November
					European: daylight saving time in the Europe that
					starts on the last Sunday of March and ends on the last
					Sunday of November"
		::= { systemTimeSetting 4 }
	daylightSavingOffset OBJECT-TYPE
		SYNTAX      Integer32 (1..1440)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Specify the adjust offset of daylight saving time"
		::= { systemTimeSetting 5 }
    recurringFrom		OBJECT IDENTIFIER ::= { systemTimeSetting 6 }
   		recFromDay OBJECT-TYPE
			SYNTAX      Integer32 (1..7)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The starting day of recurring daylight saving time."
			::= { recurringFrom 1 }
   		recFromWeek OBJECT-TYPE
			SYNTAX      Integer32 (1..5)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The starting week of recurring daylight saving time."
			::= { recurringFrom 2 }
   		recFromMonth OBJECT-TYPE
			SYNTAX      Integer32 (1..12)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The starting month of recurring daylight saving time."
			::= { recurringFrom 3 }
		recFromHours OBJECT-TYPE
			SYNTAX      Integer32 (0..23)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The starting hour of recurring daylight saving time."
			::= { recurringFrom 4 }
		recFromMinutes OBJECT-TYPE
			SYNTAX      Integer32 (0..59)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The starting minutes of recurring daylight saving time."
			::= { recurringFrom 5 }
    recurringTo			OBJECT IDENTIFIER ::= { systemTimeSetting 7 }  
   		recToDay OBJECT-TYPE
			SYNTAX      Integer32 (1..7)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ending day of recurring daylight saving time."
			::= { recurringTo 1 }
   		recToWeek OBJECT-TYPE
			SYNTAX      Integer32 (1..5)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ending week of recurring daylight saving time."
			::= { recurringTo 2 }
   		recToMonth OBJECT-TYPE
			SYNTAX      Integer32 (1..12)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ending month of recurring daylight saving time."
			::= { recurringTo 3 }
		recToHours OBJECT-TYPE
			SYNTAX      Integer32 (0..23)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ending hour of recurring daylight saving time."
			::= { recurringTo 4 }
		recToMinutes OBJECT-TYPE
			SYNTAX      Integer32 (0..59)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ending minute of recurring daylight saving time."
			::= { recurringTo 5 }
    nonRecurringFrom	OBJECT IDENTIFIER ::= { systemTimeSetting 8 }
		nonRecFromYear OBJECT-TYPE
			SYNTAX      Integer32 (2000..2037)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The starting year of non-recurring daylight saving time."
            ::= { nonRecurringFrom 1 }
		nonRecFromMonth OBJECT-TYPE
			SYNTAX      Integer32 (1..12)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The starting month of non-recurring daylight saving time."
            ::= { nonRecurringFrom 2 }
		nonRecFromDay OBJECT-TYPE
			SYNTAX      Integer32 (1..31)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The starting day of non-recurring daylight saving time."
            ::= { nonRecurringFrom 3 }
		nonRecFromHours OBJECT-TYPE
			SYNTAX      Integer32 (0..23)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The starting hour of non-recurring daylight saving time."
			::= { nonRecurringFrom 4 }
		nonRecFromMinutes OBJECT-TYPE
			SYNTAX      Integer32 (0..59)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The starting minute of non-recurring daylight saving time."
			::= { nonRecurringFrom 5 }         
	nonRecurringTo		OBJECT IDENTIFIER ::= { systemTimeSetting 9 }
		nonRecToYear OBJECT-TYPE
			SYNTAX      Integer32 (2000..2037)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ending year of non-recurring daylight saving time."
            ::= { nonRecurringTo 1 }
		nonRecToMonth OBJECT-TYPE
			SYNTAX      Integer32 (1..12)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ending month of non-recurring daylight saving time."
            ::= { nonRecurringTo 2 }
		nonRecToDay OBJECT-TYPE
			SYNTAX      Integer32 (1..31)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ending day of non-recurring daylight saving time."
            ::= { nonRecurringTo 3 }
		nonRecToHours OBJECT-TYPE
			SYNTAX      Integer32 (0..23)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ending hour of non-recurring daylight saving time."
			::= { nonRecurringTo 4 }
		nonRecToMinutes OBJECT-TYPE
			SYNTAX      Integer32 (0..59)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ending minute of non-recurring daylight saving time."
			::= { nonRecurringTo 5 }	
	serverAddress OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"IP address or hostname of time server"
		::= { systemTimeSetting 10 }
	serverPort OBJECT-TYPE
		SYNTAX      Integer32 (1..65535)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Time server port number"
		::= { systemTimeSetting 11 }                
	systemTimeStatus OBJECT-TYPE
		SYNTAX      INTEGER {
		 	active(1),
		 	notInService(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"If user set system time with SNMP, the value sould not apply to
					switch. They need to set active(1) to apply into switch"
		::= { systemTimeSetting 12 }                         
	systemTimeInfo		OBJECT IDENTIFIER ::= { systemTime 2 }
	currentDateTime OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	"Current Date and Time on the device."
		::= { systemTimeInfo 1 } 	
	currentSNTP OBJECT-TYPE
		SYNTAX      INTEGER {
		  	enable(1),
		    disable(2)
		}
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	"The status of SNTP server."    
		::= { systemTimeInfo 2 }
	currentSNTPServerAddr OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	"The IP address or hostname of SNTP server."
		::= { systemTimeInfo 3 }
	currentSNTPServerPort OBJECT-TYPE
		SYNTAX      Integer32 (1..65535)
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	"The port number of SNTP server."
		::= { systemTimeInfo 4 }
	currentTimeZone OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	""
		::= { systemTimeInfo 5 }     
	currentDaylightSavingStatus OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	""
		::= { systemTimeInfo 6 } 
	currentDaylightSavingOffset OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	""
		::= { systemTimeInfo 7 } 
	currentDaylightSavingFrom OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	""
		::= { systemTimeInfo 8 } 					
	currentDaylightSavingTo OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	""
		::= { systemTimeInfo 9 } 		

		
		
-- system.sfp
	sfpSerialInfoTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF SFPSerialInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of SFP serial info."
		::= { sfp 1 }
	sfpSerialInfoEntry	OBJECT-TYPE
		SYNTAX		SFPSerialInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of SFP serial info."
		INDEX	{ sfpPortIndex }
		::= { sfpSerialInfoTable 1 }  
		SFPSerialInfoEntry	::= SEQUENCE {
			sfpPortIndex		DisplayString,
			sfpConnector		DisplayString,
			sfpSpeed			DisplayString,
			sfpVendorName		DisplayString,
			sfpVendorPn			DisplayString,
			spfVendorRev		DisplayString,
			sfpVendorSn			DisplayString,
			sfpDateCode			DisplayString
		}				
		sfpPortIndex	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of SFP serial info."
			::= { sfpSerialInfoEntry 1 }	 
		sfpConnector OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP connector"
			::= { sfpSerialInfoEntry 2 }
		sfpSpeed OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP speed"
			::= { sfpSerialInfoEntry 3 }
		sfpVendorName OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP vender name"
			::= { sfpSerialInfoEntry 4 }
		sfpVendorPn OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP vendor product number"
			::= { sfpSerialInfoEntry 6 }
		spfVendorRev OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP vender revision"
			::= { sfpSerialInfoEntry 7 }
		sfpVendorSn OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP vendor serial number"
			::= { sfpSerialInfoEntry 8 }
		sfpDateCode OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP data code"
			::= { sfpSerialInfoEntry 9 }

	sfpDMIInfoTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF SFPDMIInfoEntry 
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of SFP DMI info."
		::= { sfp 2 }
	sfpDMIInfoEntry	OBJECT-TYPE
		SYNTAX		SFPDMIInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of SFP DMI info."
		INDEX	{ sfpDMIPortIndex }
		::= { sfpDMIInfoTable 1 }  
		SFPDMIInfoEntry	::= SEQUENCE {
			sfpDMIPortIndex		DisplayString,
			sfpDMITemperature	DisplayString,
			sfpDMIVoltage		DisplayString,
			sfpDMITxBias		DisplayString,
			sfpDMITxPower		DisplayString,
			sfpDMIRxPower		DisplayString			
		}
		sfpDMIPortIndex	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of SFP DMI info."
			::= { sfpDMIInfoEntry 1 }	 
		sfpDMITemperature OBJECT-TYPE
			SYNTAX      DisplayString  
			UNITS       "C"
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP DMI temperature"
			::= { sfpDMIInfoEntry 2 }
		sfpDMIVoltage OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "V"
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP DMI voltage"
			::= { sfpDMIInfoEntry 3 }
		sfpDMITxBias OBJECT-TYPE
			SYNTAX      DisplayString
			UNITS       "mA"
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP DMI Tx bias"
			::= { sfpDMIInfoEntry 4 }
		sfpDMITxPower OBJECT-TYPE
			SYNTAX      DisplayString
			UNITS       "dbm"
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP DMI Tx power"
			::= { sfpDMIInfoEntry 5 }
		sfpDMIRxPower OBJECT-TYPE
			SYNTAX      DisplayString
			UNITS       "dbm"
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The SFP DMI Rx power"
			::= { sfpDMIInfoEntry 6 } 
	ddmDiagnosticAlarm	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	disabled(1),
		 	syslog(2),
		 	email(3),
		 	snmp(4)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The DDM diagnostic alarm setting"
		::= { sfp 3 } 			        
	sfpDMIAlarmInfoTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF SFPDMIAlarmInfoEntry 
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of SFP DMI alarm info."
		::= { sfp 4 }
	sfpDMIAlarmInfoEntry	OBJECT-TYPE
		SYNTAX		SFPDMIAlarmInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of SFP DMI alarm info."
		INDEX	{ sfpDMIAlarmPortIndex }
		::= { sfpDMIAlarmInfoTable 1 }  
		SFPDMIAlarmInfoEntry	::= SEQUENCE {
			sfpDMIAlarmPortIndex		DisplayString,
			sfpDMITempHighAlarmState	INTEGER,   
			sfpDMITempHighAlarmValue	DisplayString,
			sfpDMITempHighWarnState		INTEGER,   
			sfpDMITempHighWarnValue		DisplayString,
			sfpDMITempLowAlarmState		INTEGER,   
			sfpDMITempLowAlarmValue		DisplayString,
			sfpDMITempLowWarnState		INTEGER,   
			sfpDMITempLowWarnValue		DisplayString,
			sfpDMIVoltageHighAlarmState	INTEGER,   
			sfpDMIVoltageHighAlarmValue	DisplayString,
			sfpDMIVoltageHighWarnState	INTEGER,   
			sfpDMIVoltageHighWarnValue	DisplayString,
			sfpDMIVoltageLowAlarmState	INTEGER,   
			sfpDMIVoltageLowAlarmValue	DisplayString,
			sfpDMIVoltageLowWarnState	INTEGER,   
			sfpDMIVoltageLowWarnValue	DisplayString,
			sfpDMITxBasisHighAlarmState	INTEGER,   
			sfpDMITxBasisHighAlarmValue	DisplayString,
			sfpDMITxBasisHighWarnState	INTEGER,   
			sfpDMITxBasisHighWarnValue	DisplayString,
			sfpDMITxBasisLowAlarmState	INTEGER,   
			sfpDMITxBasisLowAlarmValue	DisplayString,
			sfpDMITxBasisLowWarnState	INTEGER,   
			sfpDMITxBasisLowWarnValue	DisplayString,
			sfpDMITxPowerHighAlarmState	INTEGER,   
			sfpDMITxPowerHighAlarmValue	DisplayString,
			sfpDMITxPowerHighWarnState	INTEGER,   
			sfpDMITxPowerHighWarnValue	DisplayString,
			sfpDMITxPowerLowAlarmState	INTEGER,   
			sfpDMITxPowerLowAlarmValue	DisplayString,
			sfpDMITxPowerLowWarnState	INTEGER,   
			sfpDMITxPowerLowWarnValue	DisplayString,			
			sfpDMIRxPowerHighAlarmState	INTEGER,   
			sfpDMIRxPowerHighAlarmValue	DisplayString,
			sfpDMIRxPowerHighWarnState	INTEGER,   
			sfpDMIRxPowerHighWarnValue	DisplayString,
			sfpDMIRxPowerLowAlarmState	INTEGER,   
			sfpDMIRxPowerLowAlarmValue	DisplayString,
			sfpDMIRxPowerLowWarnState	INTEGER,   
			sfpDMIRxPowerLowWarnValue	DisplayString			
		}
		sfpDMIAlarmPortIndex	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of SFP DMI alarm info."
			::= { sfpDMIAlarmInfoEntry 1 }	 
		sfpDMITempHighAlarmState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI temperature high alarm"
			::= { sfpDMIAlarmInfoEntry 2 }
		sfpDMITempHighAlarmValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "C"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI temperature high alarm.
						 The value range is 127 Degrees C ~ -127 Degrees C"
			::= { sfpDMIAlarmInfoEntry 3 }	
		sfpDMITempHighWarnState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI temperature high warning"
			::= { sfpDMIAlarmInfoEntry 4 }
		sfpDMITempHighWarnValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "C"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI temperature high warning.
						 The value range is 127 Degrees C ~ -127 Degrees C"
			::= { sfpDMIAlarmInfoEntry 5 }	
		sfpDMITempLowAlarmState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI temperature low alarm"
			::= { sfpDMIAlarmInfoEntry 6 }
		sfpDMITempLowAlarmValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "C"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI temperature low alarm.
						 The value range is 127 Degrees C ~ -127 Degrees C"
			::= { sfpDMIAlarmInfoEntry 7 }	
		sfpDMITempLowWarnState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI temperature low warning"
			::= { sfpDMIAlarmInfoEntry 8 }
		sfpDMITempLowWarnValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "C"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI temperature low warning.
						 The value range is 127 Degrees C ~ -127 Degrees C"
			::= { sfpDMIAlarmInfoEntry 9 }			
		sfpDMIVoltageHighAlarmState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI voltage high alarm"
			::= { sfpDMIAlarmInfoEntry 10 }
		sfpDMIVoltageHighAlarmValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "V"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI voltage high alarm.
						 The value range is 0.001~6V"
			::= { sfpDMIAlarmInfoEntry 11 }	
		sfpDMIVoltageHighWarnState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI voltage high warning"
			::= { sfpDMIAlarmInfoEntry 12 }
		sfpDMIVoltageHighWarnValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "V"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI voltage high warning.
						 The value range is 0.001~6V"
			::= { sfpDMIAlarmInfoEntry 13 }	
		sfpDMIVoltageLowAlarmState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI voltage low alarm"
			::= { sfpDMIAlarmInfoEntry 14 }
		sfpDMIVoltageLowAlarmValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "V"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI voltage low alarm.
						 The value range is 0.001~6V"
			::= { sfpDMIAlarmInfoEntry 15 }	
		sfpDMIVoltageLowWarnState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI voltage low warning"
			::= { sfpDMIAlarmInfoEntry 16 }
		sfpDMIVoltageLowWarnValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "V"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI voltage low warning.
						 The value range is 0.001~6V"
			::= { sfpDMIAlarmInfoEntry 17 }
		sfpDMITxBasisHighAlarmState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI TX Basis high alarm"
			::= { sfpDMIAlarmInfoEntry 18 }
		sfpDMITxBasisHighAlarmValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "mA"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI TX Basis high alarm.
						 The value range is 1~131mA"
			::= { sfpDMIAlarmInfoEntry 19 }	
		sfpDMITxBasisHighWarnState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI TX Basis high warning"
			::= { sfpDMIAlarmInfoEntry 20 }
		sfpDMITxBasisHighWarnValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "mA"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI TX Basis high warning.
						 The value range is 1~131mA"
			::= { sfpDMIAlarmInfoEntry 21 }	
		sfpDMITxBasisLowAlarmState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI TX Basis low alarm"
			::= { sfpDMIAlarmInfoEntry 22 }
		sfpDMITxBasisLowAlarmValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "mA"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI TX Basis low alarm.
						 The value range is 1~131mA"
			::= { sfpDMIAlarmInfoEntry 23 }	
		sfpDMITxBasisLowWarnState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI TX Basis low warning"
			::= { sfpDMIAlarmInfoEntry 24 }
		sfpDMITxBasisLowWarnValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "mA"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI TX Basis low warning.
						 The value range is 1~131mA"
			::= { sfpDMIAlarmInfoEntry 25 }
		sfpDMITxPowerHighAlarmState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI TX power high alarm"
			::= { sfpDMIAlarmInfoEntry 26 }
		sfpDMITxPowerHighAlarmValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "dbm"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI TX power high alarm.
						 The value range is 8~-39dbm"
			::= { sfpDMIAlarmInfoEntry 27 }	
		sfpDMITxPowerHighWarnState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI TX power high warning"
			::= { sfpDMIAlarmInfoEntry 28 }
		sfpDMITxPowerHighWarnValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "dbm"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI TX power high warning.
						 The value range is 8~-39dbm"
			::= { sfpDMIAlarmInfoEntry 29 }	
		sfpDMITxPowerLowAlarmState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI TX power low alarm"
			::= { sfpDMIAlarmInfoEntry 30 }
		sfpDMITxPowerLowAlarmValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "dbm"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI TX power low alarm.
						 The value range is 8~-39dbm"
			::= { sfpDMIAlarmInfoEntry 31 }	
		sfpDMITxPowerLowWarnState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI TX power low warning"
			::= { sfpDMIAlarmInfoEntry 32 }
		sfpDMITxPowerLowWarnValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "dbm"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI TX power low warning.
						 The value range is 8~-39dbm"
			::= { sfpDMIAlarmInfoEntry 33 }
		sfpDMIRxPowerHighAlarmState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI RX power high alarm"
			::= { sfpDMIAlarmInfoEntry 34 }
		sfpDMIRxPowerHighAlarmValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "dbm"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI RX power high alarm.
						 The value range is 8~-39dbm"
			::= { sfpDMIAlarmInfoEntry 35 }	
		sfpDMIRxPowerHighWarnState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI RX power high warning"
			::= { sfpDMIAlarmInfoEntry 36 }
		sfpDMIRxPowerHighWarnValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "dbm"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI RX power high warning.
						 The value range is 8~-39dbm"
			::= { sfpDMIAlarmInfoEntry 37 }	
		sfpDMIRxPowerLowAlarmState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI RX power low alarm"
			::= { sfpDMIAlarmInfoEntry 38 }
		sfpDMIRxPowerLowAlarmValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "dbm"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI RX power low alarm.
						 The value range is 8~-39dbm"
			::= { sfpDMIAlarmInfoEntry 39 }	
		sfpDMIRxPowerLowWarnState OBJECT-TYPE
			SYNTAX      INTEGER {
				enabled(1),
				disabled(2)
			}  
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The state of SFP DMI RX power low warning"
			::= { sfpDMIAlarmInfoEntry 40 }
		sfpDMIRxPowerLowWarnValue OBJECT-TYPE
			SYNTAX      DisplayString 
			UNITS       "dbm"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The value of SFP DMI RX power low warning.
						 The value range is 8~-39dbm"
			::= { sfpDMIAlarmInfoEntry 41 }
			
-- system.dhcpClientOpt82
	dhcpClientOpt82Status	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enabled(1),
		 	disabled(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION ""
		::= { dhcpClientOpt82 1 } 
	dhcpClientOpt82CircuitIDFormat	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	string(1),
		 	hex(2),
		 	userDefined(3)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION ""
		::= { dhcpClientOpt82 2 } 
	dhcpClientOpt82CircuitIDString	OBJECT-TYPE
		SYNTAX		DisplayString
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION ""
		::= { dhcpClientOpt82 3 } 
	dhcpClientOpt82CircuitIDHex		OBJECT-TYPE
		SYNTAX		DisplayString
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION ""
		::= { dhcpClientOpt82 4 }  
	dhcpClientOpt82CircuitIDUserDefine	OBJECT-TYPE
		SYNTAX		DisplayString
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION ""
		::= { dhcpClientOpt82 5 }
	dhcpClientOpt82RemoteIDFormat	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	string(1),
		 	hex(2),
		 	userDefined(3)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION ""
		::= { dhcpClientOpt82 6 } 				
	dhcpClientOpt82RemoteIDString	OBJECT-TYPE
		SYNTAX		DisplayString
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION ""
		::= { dhcpClientOpt82 7 } 
	dhcpClientOpt82RemoteIDHex		OBJECT-TYPE
		SYNTAX		DisplayString
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION ""
		::= { dhcpClientOpt82 8 }  
	dhcpClientOpt82RemoteIDUserDefine	OBJECT-TYPE
		SYNTAX		DisplayString
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION ""
		::= { dhcpClientOpt82 9 }		     
-- system.networkPort
	httpNetworkPort	OBJECT-TYPE
		SYNTAX		Integer32 (1..65535)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The network port of http."
		::= { networkPort 1 }	
	httpsNetworkPort	OBJECT-TYPE
		SYNTAX		Integer32 (1..65535)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The network port of https."
		::= { networkPort 2 }				
	telnetNetworkPort	OBJECT-TYPE
		SYNTAX		Integer32 (1..65535)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The network port of telnet."
		::= { networkPort 3 }		
	sshNetworkPort	OBJECT-TYPE
		SYNTAX		Integer32 (1..65535)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The network port of ssh."
		::= { networkPort 4 }		
		
-- l2switching
	portSetting		OBJECT IDENTIFIER ::= { l2switching 1 }
	mirror			OBJECT IDENTIFIER ::= { l2switching 2 }
	lag 			OBJECT IDENTIFIER ::= { l2switching 3 }
 	vlan			OBJECT IDENTIFIER ::= { l2switching 4 }
 	eee				OBJECT IDENTIFIER ::= { l2switching 5 }
 	multicast		OBJECT IDENTIFIER ::= { l2switching 6 } 
 	jamboFrame      OBJECT IDENTIFIER ::= { l2switching 7 }  
 	stp				OBJECT IDENTIFIER ::= { l2switching 8 }
 	qinqVlan		OBJECT IDENTIFIER ::= { l2switching 9 } 
 	garp			OBJECT IDENTIFIER ::= { l2switching 10 }
 	gvrp			OBJECT IDENTIFIER ::= { l2switching 11 } 
  	xRingElite		OBJECT IDENTIFIER ::= { l2switching 12 }   
 	loopback		OBJECT IDENTIFIER ::= { l2switching 13 }   
 	xRingPro	    OBJECT IDENTIFIER ::= { l2switching 14 }
	gmrp			OBJECT IDENTIFIER ::= { l2switching 15 }  
 	erps	    OBJECT IDENTIFIER ::= { l2switching 16 }
-- l2switching.portSetting     
	portSettingTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF PortSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of port setting."
		::= { portSetting 1 }
	portSettingEntry	OBJECT-TYPE
		SYNTAX		PortSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of port setting."
		INDEX	{ portSettingIndex }
		::= { portSettingTable 1 }  
		PortSettingEntry	::= SEQUENCE{
			portSettingIndex	Integer32,
			description			DisplayString,
			enableState			INTEGER,
			linkStatus			INTEGER,
			speed				INTEGER,
			duplex				INTEGER,
			flowControlConfig	INTEGER,
			flowControlStatus	INTEGER
		}		
		
		portSettingIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of port setting."
			::= { portSettingEntry 1 }	 
		description OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Port description"
			::= { portSettingEntry 2 }
		enableState	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Port admin state"
			::= { portSettingEntry 3 } 
		linkStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	up(1),
			 	down(2)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "Port link status"
			::= { portSettingEntry 4 } 			
		speed	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	auto(1),
			 	auto-10M(2),
			 	auto-100M(3), 
			 	auto-1000M(4), 
			 	auto-10M-100M(5),
			 	fixed-10M(6), 
			 	fixed-100M(7), 
			 	fixed-1000M(8)			
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Port speed capabilities"
			::= { portSettingEntry 5 }
		duplex	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	auto(1),
			 	half(2),
			 	full(3)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Port duplex capabilities"
			::= { portSettingEntry 6 } 	
		flowControlConfig	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Port flow control setting"
			::= { portSettingEntry 7 } 					 
		flowControlStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "Port flow control status"
			::= { portSettingEntry 8 } 			
-- swithcing.mirror                             
	mirrorTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF MirrorEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of mirror funciton"
		::= { mirror 1 }
	mirrorEntry	OBJECT-TYPE
		SYNTAX		MirrorEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of mirror funciton"
		INDEX	{ sessionId }
		::= { mirrorTable 1 }  
		MirrorEntry	::= SEQUENCE{
			sessionId			Integer32,
			monitorSessionState	INTEGER,
			destinationPort		Integer32,
			ingressState		INTEGER,
			sourceTxPort		BITS,
			sourceRxPort		BITS
		}		
		
		sessionId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "Mirror session ID"
			::= { mirrorEntry 1 }	 
		monitorSessionState OBJECT-TYPE
			SYNTAX      INTEGER {
			 	port-based(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Mirror session state"
			::= { mirrorEntry 2 }
		destinationPort	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Mirror session destination port"
			::= { mirrorEntry 3 } 
		ingressState	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Destination port ingress state"
			::= { mirrorEntry 4 } 			
		sourceTxPort	OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Mirror session source tx ports only select portbased-enabled
						state."
			::= { mirrorEntry 5 }
		sourceRxPort	OBJECT-TYPE
			SYNTAX		BITS {
				port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Mirror session source rx ports only select portbased-enabled
						state"
			::= { mirrorEntry 6 } 	
-- l2switching.lag
	loadBalanceAlgorithm	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	mac-address(1),
		 	ip-mac-address(2),
                        source-port(3)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "LAG load balance distribution algorithm.
					MAC Address: Based on source and destination MAC
					address for all packets
					IP/MAC Address: Based on source and destination
					IP addresses for IP packet, and source and destination
					MAC address for non-IP packets.
					Source Port: Based on Source Port for all packets."
		::= { lag 1 } 
	lagManagementTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF LagManagementEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of LAG management"
		::= { lag 2 }
	lagManagementEntry	OBJECT-TYPE
		SYNTAX		LagManagementEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of LAG management"
		INDEX	{ lagIndex }
		::= { lagManagementTable 1 }  
		LagManagementEntry	::= SEQUENCE{
			lagIndex			Integer32,
			lagName				DisplayString,
			lagType				INTEGER,
			lagPorts			BITS,
			lagLinkState		INTEGER,
			lagActiveMember		DisplayString,
			lagStandbyMember	DisplayString
		}		
		lagIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of LAG management"
			::= { lagManagementEntry 1 }	 
		lagName OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"LAG port name"
			::= { lagManagementEntry 2 }
		lagType	OBJECT-TYPE
			SYNTAX		INTEGER {
				static(1),
				lacp(2),
				none(3)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the type of the LAG
						Static: The group of ports assigned to a static LAG
						are always active members.
						LACP: The group of ports assigned to dynamic LAG
						are candidate ports. LACP determines which candidate
						ports are active member ports."
			::= { lagManagementEntry 3 } 
		lagPorts	OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the trunk member ports in this field"
			::= { lagManagementEntry 4 } 			
		lagLinkState	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	up(1),
			 	down(2),
			 	not-present(3)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "LAG port link status"
			::= { lagManagementEntry 5 }
		lagActiveMember	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "Active member ports of the LAG"
			::= { lagManagementEntry 6 } 	
		lagStandbyMember	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "Inactive or candidate member ports of the LAG"
			::= { lagManagementEntry 7 }   

	lagPortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF LagPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of LAG port"
		::= { lag 3 }
	lagPortEntry	OBJECT-TYPE
		SYNTAX		LagPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of LAG port"
		INDEX	{ lagPortIndex }
		::= { lagPortTable 1 }  
		LagPortEntry	::= SEQUENCE{
			lagPortIndex			Integer32,
			lagPortDescription		DisplayString,
			lagPortType				DisplayString,
			lagPortEnableState		INTEGER,
			lagPortLinkStatus		INTEGER,
			lagPortSpeed			INTEGER,
			lagPortDuplex			INTEGER,
			lagPortFlowCtrlConfig	INTEGER,
			lagPortFlowCtrlStatus	INTEGER
		}		
		lagPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of LAG port"
			::= { lagPortEntry 1 }	 
		lagPortDescription OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The description of the LAG port"
			::= { lagPortEntry 2 }
		lagPortType	OBJECT-TYPE
			SYNTAX		DisplayString 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "Member port media type"
			::= { lagPortEntry 3 } 
		lagPortEnableState	OBJECT-TYPE
			SYNTAX		INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "LAG port admin state"
			::= { lagPortEntry 4 } 			
		lagPortLinkStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	up(1),
			 	down(2)			 
			} 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "LAG port link status"
			::= { lagPortEntry 5 }
		lagPortSpeed	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	auto(1),
			 	auto-10M(2),
			 	auto-100M(3), 
			 	auto-1000M(4), 
			 	auto-10M-100M(5),
			 	fixed-10M(6), 
			 	fixed-100M(7), 
			 	fixed-1000M(8)			
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Current LAG port speed"
			::= { lagPortEntry 6 }
		lagPortDuplex	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	auto(1),
			 	half(2),
			 	full(3)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "Current LAG port duplex"
			::= { lagPortEntry 7 } 	
		lagPortFlowCtrlConfig	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "LAG port flow control configuration"
			::= { lagPortEntry 8 } 					 
		lagPortFlowCtrlStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "Current LAG port flow control state"
			::= { lagPortEntry 9 } 				

	lacpSystemPriority	OBJECT-TYPE
		SYNTAX		Integer32 (1..65535)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Configure the system priority of LACP"
		::= { lag 4 } 
		
	lacpPortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF LacpPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of LACP Port"
		::= { lag 5 }
	lacpPortEntry	OBJECT-TYPE
		SYNTAX		LacpPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of LACP Port"
		INDEX	{ lacpPortIndex }
		::= { lacpPortTable 1 }  
		LacpPortEntry	::= SEQUENCE{
			lacpPortIndex	Integer32,
			lacpPriority  	Integer32,
			lacpTimeout		INTEGER,   
			lacpPortMode	INTEGER
		}		
		lacpPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of LACP Port"
			::= { lacpPortEntry 1 }	 
		lacpPriority OBJECT-TYPE
			SYNTAX      Integer32 (1..65535)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"LACP priority of the port"
			::= { lacpPortEntry 2 }
		lacpTimeout	OBJECT-TYPE
			SYNTAX		INTEGER {
				long(1),
				short(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The periodic transmissions of LACP PDUs
						Long: Transmit LACP PDU with slow periodic (30s).
						Short: Transmit LACPP DU with fast periodic (1s)."
			::= { lacpPortEntry 3 }
		lacpPortMode	OBJECT-TYPE
			SYNTAX		INTEGER {
				active(1),
				passive(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "LACP mode of the port"
			::= { lacpPortEntry 4 } 			 		
-- l2switching.vlan
	vlanTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of VLAN"
		::= { vlan 1 }
	vlanEntry	OBJECT-TYPE
		SYNTAX		VlanEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of VLAN"
		INDEX	{ vlanIndex }
		::= { vlanTable 1 }  
		VlanEntry	::= SEQUENCE{
			vlanIndex		Integer32,
			vlanId			Integer32,
			vlanNamePrefix	DisplayString,
			vlanType		INTEGER,
			vlanRowStatus	INTEGER
		}		                  
		vlanIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The index of VLAN"
			::= { vlanEntry 1 }			
		vlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The VLAN ID"
			::= { vlanEntry 2 }	 
		vlanNamePrefix OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The prefix string of the VLAN name"
			::= { vlanEntry 3 }
		vlanType	OBJECT-TYPE
			SYNTAX		INTEGER {
				default(1),
				static(2),
				dyanmic(3)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The VLAN type"
			::= { vlanEntry 4 }    
		vlanRowStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			} 
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { vlanEntry 99 } 
			
	vlanInterfaceTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanInterfaceEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of the VLN inetrface"
		::= { vlan 2 }
	vlanInterfaceEntry	OBJECT-TYPE
		SYNTAX		VlanInterfaceEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of the VLN inetrface"
		INDEX	{ vlanPortIndex }
		::= { vlanInterfaceTable 1 }  
		VlanInterfaceEntry	::= SEQUENCE{
			vlanPortIndex			Integer32,
			vlanInterfaceVlanMode	INTEGER,
			vlanPvid				Integer32,
			vlanAcceptedType		INTEGER,
			vlanIngressFiltering	INTEGER
		}		
		vlanPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of the VLAN interface"
			::= { vlanInterfaceEntry 1 }	 
		vlanInterfaceVlanMode OBJECT-TYPE
			SYNTAX      INTEGER {
			 	hybrid(1),
			 	access(2),
			 	trunk(3),
			 	tunnel(4)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"VLAN mode for the interface.
						Hybrid: support all functions as defined in IEEE 802.1Q			
						Access: Accepts only untagged frames and join an untagged VLAN
						Trunk: An ubtagged member of one VLAN at most, and is a tagged 
						member of zero or more VLANs.
						Tunnel: Port-based Q-in-Q mode"
			::= { vlanInterfaceEntry 2 }
		vlanPvid	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The port-based VLAN ID, It only available with Hybrid and Trunk mode."
			::= { vlanInterfaceEntry 3 }    
		vlanAcceptedType	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	all(1),
			 	tag-only(2),
			 	untag-only(3)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the acceptable-frame-type of the specified interfaces. It is
						only available with Hybrid mode."
			::= { vlanInterfaceEntry 4 } 
		vlanIngressFiltering	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disbale(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the status of ingress filtering. It is only available with
						Hybrid mode."
			::= { vlanInterfaceEntry 5 }

	portToVlanTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF PortToVlanEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of Port to VLAN"
		::= { vlan 3 }
	portToVlanEntry	OBJECT-TYPE
		SYNTAX		PortToVlanEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of Port to VLAN"
		INDEX	{ portToVlanVlanIndex }
		::= { portToVlanTable 1 }  
		PortToVlanEntry	::= SEQUENCE{
			portToVlanVlanIndex			Integer32,
			portToVlanPortIndex			Integer32,   
			portToVlanVlanId			Integer32,
			portToVlanInterfaceVlanMode	INTEGER,
			portToVlanMembership		INTEGER,
			portToVlanPvid				INTEGER
		}		
		portToVlanVlanIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of Port to VLAN"
			::= { portToVlanEntry 1 }	 
		portToVlanPortIndex OBJECT-TYPE
			SYNTAX      Integer32 (1..65535)
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The port index of Port to VLAN"
			::= { portToVlanEntry 2 }
		portToVlanVlanId OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "VLAN ID"
			::= { portToVlanEntry 3 }
		portToVlanInterfaceVlanMode	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	hybrid(1),
			 	access(2),
			 	trunk(3),
			 	tunnel(4)	
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "Display the interface VLAN mode of this port"
			::= { portToVlanEntry 4 }    
		portToVlanMembership	OBJECT-TYPE
			SYNTAX		INTEGER {
				forbidden(1), 
				exclued(2), 
				tagged(3), 
				untagged(4)	 	
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the membership for this port with the specified VLAN ID.
						Forbidden: Specify the port is forbidden in the VLAN.
						Excluded: Specify the port is excluded in the VLAN.
						Tagged: Specify the port is tagged in the VLAN.
						Untagged: Specify the port is untagged in the VLAN."
			::= { portToVlanEntry 5 } 
		portToVlanPvid	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "the VLAN ID to be the port-based
						VLAN ID for this port."
			::= { portToVlanEntry 6 }
			
	portVlanTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF PortVlanEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of port VLAN"
		::= { vlan 4 }
	portVlanEntry	OBJECT-TYPE
		SYNTAX		PortVlanEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of port VLAN"
		INDEX	{ portVlanPortIndex }
		::= { portVlanTable 1 }  
		PortVlanEntry	::= SEQUENCE{
			portVlanPortIndex	Integer32,
			portVlanPortMode	INTEGER,
			portVlanAdminVlans	DisplayString,
			portVlanOperVlans	DisplayString
		}		
		portVlanPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of port VLAN"
			::= { portVlanEntry 1 }	 
		portVlanPortMode OBJECT-TYPE
			SYNTAX      INTEGER {
			 	hybrid(1),
			 	access(2),
			 	trunk(3),
			 	tunnel(4)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"the interface VLAN mode of this port"
			::= { portVlanEntry 2 }
		portVlanAdminVlans	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "the administrative VLAN list of this port"
			::= { portVlanEntry 3 }    
		portVlanOperVlans	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The operational VLAN list of this port"
			::= { portVlanEntry 4 } 
			
	voiceVlan	OBJECT IDENTIFIER ::= { vlan 5 }
		voiceVlanState	OBJECT-TYPE
			SYNTAX		INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Voice VLAN state"
			::= { voiceVlan 1 } 
		voiceVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Voice VLAN ID"
			::= { voiceVlan 2 } 
		voiceVlanRemarkCos-8021p	OBJECT-TYPE
			SYNTAX		Integer32 (0..7)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "a value of vpt that will be advertised by LLDP-MED"
			::= { voiceVlan 3 } 
		voiceVlanRemark1q	OBJECT-TYPE
			SYNTAX		INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "1p remark state"
			::= { voiceVlan 4 } 
		voiceVlanAgingTime	OBJECT-TYPE
			SYNTAX		Integer32 (30..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "value of aging time"
			::= { voiceVlan 5 } 

	telephonyOUITable	OBJECT-TYPE
		SYNTAX SEQUENCE OF TelephonyOUIEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of OUI"
		::= { voiceVlan 6 }
	telephonyOUIEntry	OBJECT-TYPE
		SYNTAX		TelephonyOUIEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of OUI"
		INDEX	{ telephonyOUIIndex }
		::= { telephonyOUITable 1 }  
		TelephonyOUIEntry	::= SEQUENCE{
			telephonyOUIIndex		Integer32,
			telephonyOUIAddress		DisplayString,
			telephonyOUIDescription	DisplayString,
			telephonyOUIRowStatus	INTEGER
		}
		telephonyOUIIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..16)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of OUI"
			::= { telephonyOUIEntry 1 }	 				
		telephonyOUIAddress	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "oui address"
			::= { telephonyOUIEntry 2 }	 
		telephonyOUIDescription OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"description of the specified MAC address to the voice VLAN OUI
						table"
			::= { telephonyOUIEntry 3 }
		telephonyOUIRowStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			} 
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { telephonyOUIEntry 99 }    

	telephonyOUIPortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF TelephonyOUIPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of OUI port"
		::= { voiceVlan 7 }
	telephonyOUIPortEntry	OBJECT-TYPE
		SYNTAX		TelephonyOUIPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of OUI port"
		INDEX	{ telephonyOUIPortIndex }
		::= { telephonyOUIPortTable 1 }  
		TelephonyOUIPortEntry	::= SEQUENCE{
			telephonyOUIPortIndex	Integer32,
			telephonyOUIState		INTEGER,
			telephonyOUICosMode		INTEGER
		}		
		telephonyOUIPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of OUI port"
			::= { telephonyOUIPortEntry 1 }	 
		telephonyOUIState OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Ingress/Egress type value"
			::= { telephonyOUIPortEntry 2 }
		telephonyOUICosMode	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	all(1),
			 	src(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "port cos mode
						Src: QoS attributes are applied to packets with OUIs in the source
						MAC address.
						All: QoS attributes are applied to packets that are classified to the
						Voice VLAN"
			::= { telephonyOUIPortEntry 3 }		
	interfaceVlanTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF InterfaceVlanEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of interface VLAN"
		::= { vlan 6 }
	interfaceVlanEntry	OBJECT-TYPE
		SYNTAX		InterfaceVlanEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of interface VLAN"
		INDEX	{ interfaceVlanIndex }
		::= { interfaceVlanTable 1 }  
		InterfaceVlanEntry	::= SEQUENCE{
			interfaceVlanIndex		Integer32,
			interfaceVlanId			Integer32,
			interfaceVlanName		DisplayString,			
			interfaceVlanRowStatus	INTEGER
		}		
		interfaceVlanIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The index of interface VLAN"
			::= { interfaceVlanEntry 1 }			
		interfaceVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The interface VLAN ID"
			::= { interfaceVlanEntry 2 }	 
		interfaceVlanName OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The name of interface VLAN"
			::= { interfaceVlanEntry 3 }  
		interfaceVlanRowStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			} 
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { interfaceVlanEntry 99 } 
						   						 						
-- l2switching.eee 
	eeePortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF EeePortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of EEE Port"
		::= { eee 1 }
	eeePortEntry	OBJECT-TYPE
		SYNTAX		EeePortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of EEE Port"
		INDEX	{ eeePortIndex }
		::= { eeePortTable 1 }  
		EeePortEntry	::= SEQUENCE{
			eeePortIndex	Integer32,
			eeeState		INTEGER
		}		
		eeePortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of EEE Port"
			::= { eeePortEntry 1 }	 
		eeeState OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Port EEE function."
			::= { eeePortEntry 2 }
-- l2switching.multicast
	unknownMulticastAction	OBJECT-TYPE
		SYNTAX		INTEGER {
			drop(1),
			flood(2),
			routerPort(3)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "the unknown multicast action
					Drop: drop the unknown multicast data.
					Flood: flood the unknown multicast data.
					Router port: forward the unknown multicast data to router
					port."
		::= { multicast 1 } 
	forwardMethod	OBJECT-TYPE
		SYNTAX		INTEGER {
			mac(1)		
		}
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION "the multicast forward method.
					MAC: forward method dmac+vid."
		::= { multicast 2 }  
	igmpSnooping		OBJECT IDENTIFIER ::= { multicast 3 }		
	igmpSnoopingState	OBJECT-TYPE
		SYNTAX		INTEGER {
			enable(1), 
			disabled(2)		
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "the enabling status of IGMP functionality"
		::= { igmpSnooping 1 } 		 		
	igmpSnoopingVersion	OBJECT-TYPE
		SYNTAX		INTEGER {
			v2(1), 
			v3(2)		
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "the igmp snooping version
					v2: Only support process igmp v2 packet.
					v3: Support v3 basic and v2."
		::= { igmpSnooping 2 } 		
	igmpSnoopingReportSuppression	OBJECT-TYPE
		SYNTAX		INTEGER {
			enable(1), 
			disabled(2)		
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "the enabling status of IGMP v2 report suppression"
		::= { igmpSnooping 3 } 
		
	igmpSnoopingTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF IgmpSnoopingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of IGMP snooping"
		::= { igmpSnooping 4 }
	igmpSnoopingEntry	OBJECT-TYPE
		SYNTAX		IgmpSnoopingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of IGMP snooping"
		INDEX	{ igmpSnoopingIndex }
		::= { igmpSnoopingTable 1 }  
		IgmpSnoopingEntry	::= SEQUENCE{
			igmpSnoopingIndex               Integer32,
			igmpSnoopingVlanId				Integer32,
			igmpSnoopStatus					INTEGER,
			routerPortsAutoLearn			INTEGER,		
			queryRobustness					Integer32,
			queryInterval					Integer32,
			queryMaxResponseInterval		Integer32,
			lastMemberQueryCounter			Integer32,
			lastMemberQueryInterval			Integer32,
			immediateLeave					INTEGER,
			operQueryRobustness				Integer32,
			operQueryInterval				Integer32,
			operQueryMaxResponseInterval	Integer32,
			operLastMemberQueryCounter		Integer32,
			operLastMemberQueryInterval		Integer32
		}		
		igmpSnoopingIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of IGMP snooping"
			::= { igmpSnoopingEntry 1 }	 
		igmpSnoopingVlanId OBJECT-TYPE
			SYNTAX      Integer32 (1..4904)
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The IGMP entry VLAN ID"
			::= { igmpSnoopingEntry 2 }
		igmpSnoopStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The enable status of IGMP VLAN functionality"
			::= { igmpSnoopingEntry 3 }	 
		routerPortsAutoLearn OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The enable statue of IGMP router port learning."
			::= { igmpSnoopingEntry 4 }
		queryRobustness	OBJECT-TYPE
			SYNTAX		Integer32 (1..7)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The Robusstness Variable allows tuning for the expected packet loss
						on a subnet"
			::= { igmpSnoopingEntry 5 }	 
		queryInterval OBJECT-TYPE
			SYNTAX      Integer32 (30..18000)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The interval of querier send general query"
			::= { igmpSnoopingEntry 6 }
		queryMaxResponseInterval	OBJECT-TYPE
			SYNTAX		Integer32 (5..20)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "In Membership Query Message, it specifies the maximum allowed
						time before sending a responding report in units of 1/10 second"
			::= { igmpSnoopingEntry 7 }	 
		lastMemberQueryCounter OBJECT-TYPE
			SYNTAX      Integer32 (1..7)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The count that Querier-switch sends Group-Specific Queriers when
						it receives a Leave Group message for a group"
			::= { igmpSnoopingEntry 8 }
		lastMemberQueryInterval	OBJECT-TYPE
			SYNTAX		Integer32 (1..25)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The interval that Querier-switch sends Group-Specific Queriers
						when it receives a Leave Group Message for a group"
			::= { igmpSnoopingEntry 9 }	 
		immediateLeave OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Leave the group when receive IGMP Leave message."
			::= { igmpSnoopingEntry 10 }
		operQueryRobustness	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The operation query robustness."
			::= { igmpSnoopingEntry 11 }	 
		operQueryInterval OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The operation query interval."
			::= { igmpSnoopingEntry 12 }
		operQueryMaxResponseInterval	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The operating query max response interval."
			::= { igmpSnoopingEntry 13 }	 
		operLastMemberQueryCounter OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The operating last member query counter."
			::= { igmpSnoopingEntry 14 }
		operLastMemberQueryInterval	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The operation last member query interval."
			::= { igmpSnoopingEntry 15 }															

	igmpQuerierTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF IgmpQuerierEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of IGMP querier"
		::= { igmpSnooping 5 }
	igmpQuerierEntry	OBJECT-TYPE
		SYNTAX		IgmpQuerierEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of IGMP querier"
		INDEX	{ igmpQuerierVlanId }
		::= { igmpQuerierTable 1 }  
		IgmpQuerierEntry	::= SEQUENCE{
			igmpQuerierVlanId       Integer32,
			igmpQuerierState		INTEGER,
			igmpQuerierStatus		INTEGER,
			igmpQuerierVersion		INTEGER,		
			igmpQuerierIP			DisplayString
		}		
		igmpQuerierVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The VLAN ID of IGMP querier"
			::= { igmpQuerierEntry 1 }	 
		igmpQuerierState OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The enabling status of IGMP Querier Election on the chose
						VLANs"
			::= { igmpQuerierEntry 2 }
		igmpQuerierStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
				querier(1),
				nonQuerier(2)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The enabling status of IGMP Querier Election on the chose
						VLANs"
			::= { igmpQuerierEntry 3 }	 
		igmpQuerierVersion OBJECT-TYPE
			SYNTAX      INTEGER {
			 	v2(1),
			 	v3(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The query version of IGMP Querier Election on the chose
						VLANs"
			::= { igmpQuerierEntry 4 }
		igmpQuerierIP	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The query IP address of IGMP Querier Election on the chose
						VLANs"
			::= { igmpQuerierEntry 5 }	 

	igmpStaticGroupTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF IgmpStaticGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of IGMP static group"
		::= { igmpSnooping 6 }
	igmpStaticGroupEntry	OBJECT-TYPE
		SYNTAX		IgmpStaticGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of IGMP static group"
		INDEX	{ igmpStaticGroupIndex }
		::= { igmpStaticGroupTable 1 }  
		IgmpStaticGroupEntry	::= SEQUENCE{
			igmpStaticGroupIndex		Integer32,
			igmpStaticGroupVlanId       Integer32,
			igmpStaticGroupIPaddress	IpAddress,
			igmpStaticGroupMemberPorts	BITS,
			igmpStaticGroupRowStatus	INTEGER
		}
		igmpStaticGroupIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..256)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of IGMP static group"
			::= { igmpStaticGroupEntry 1 }			
		igmpStaticGroupVlanId	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The VLAN ID of IGMP static group"
			::= { igmpStaticGroupEntry 2 }	 
		igmpStaticGroupIPaddress OBJECT-TYPE
			SYNTAX      IpAddress
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The IP address of this group"
			::= { igmpStaticGroupEntry 3 }
		igmpStaticGroupMemberPorts	OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The member ports of this group"
			::= { igmpStaticGroupEntry 4 }	 
		igmpStaticGroupRowStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			}  
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION	"User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { igmpStaticGroupEntry 99 }

	igmpGroupTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF IgmpGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of IGMP group"
		::= { igmpSnooping 7 }
	igmpGroupEntry	OBJECT-TYPE
		SYNTAX		IgmpGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of IGMP group"
		INDEX	{ igmpGroupVlanId }
		::= { igmpGroupTable 1 }  
		IgmpGroupEntry	::= SEQUENCE{
			igmpGroupVlanId         Integer32,
			igmpGroupIPaddress		IpAddress,
			igmpGroupMemberPorts	DisplayString,
			igmpGroupType			INTEGER,
			igmpGroupLife			Integer32
		}		
		igmpGroupVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The VLAN ID of IGMP group"
			::= { igmpGroupEntry 1 }	 
		igmpGroupIPaddress OBJECT-TYPE
			SYNTAX      IpAddress
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The group IP address of this group"
			::= { igmpGroupEntry 2 }
		igmpGroupMemberPorts	OBJECT-TYPE
			SYNTAX		DisplayString 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The member ports of this group"
			::= { igmpGroupEntry 3 }	 
		igmpGroupType OBJECT-TYPE
			SYNTAX      INTEGER {
				static(1),
				dynamic(2)	
			} 
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The type of this group"
			::= { igmpGroupEntry 4 }
		igmpGroupLife OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The life time of this group"
			::= { igmpGroupEntry 5 }   
			
	igmpRouterTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF IgmpRouterEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of IGMP router"
		::= { igmpSnooping 8 }
	igmpRouterEntry	OBJECT-TYPE
		SYNTAX		IgmpRouterEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of IGMP router"
		INDEX	{ igmpRouterVlanId }
		::= { igmpRouterTable 1 }  
		IgmpRouterEntry	::= SEQUENCE{
			igmpRouterVlanId     	Integer32,
			igmpRouterPort			DisplayString,
			igmpRouterExpireTime	Integer32
		}		
		igmpRouterVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The VLAN ID of the IGMP router."
			::= { igmpRouterEntry 1 }	 
		igmpRouterPort OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The port of the IGMP router."
			::= { igmpRouterEntry 2 }
		igmpRouterExpireTime	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The expire time of the IGMP router."
			::= { igmpRouterEntry 3 }
-- l2switching.multicast.mldSnooping
	mldSnooping		OBJECT IDENTIFIER ::= { multicast 4 }		
	mldSnoopingState	OBJECT-TYPE
		SYNTAX		INTEGER {
			enable(1), 
			disabled(2)		
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "the enabling status of MLD functionality"
		::= { mldSnooping 1 } 		 		
	mldSnoopingVersion	OBJECT-TYPE
		SYNTAX		INTEGER {
			v1(1), 
			v2(2)		
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "the MLD snooping version"
		::= { mldSnooping 2 } 		
	mldSnoopingReportSuppression	OBJECT-TYPE
		SYNTAX		INTEGER {
			enable(1), 
			disabled(2)		
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "the enabling status of MLD report suppression"
		::= { mldSnooping 3 } 
		
	mldSnoopingTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF MLDSnoopingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of MLD snooping"
		::= { mldSnooping 4 }
	mldSnoopingEntry	OBJECT-TYPE
		SYNTAX		MLDSnoopingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of MLD snooping"
		INDEX	{ mldSnoopingIndex }
		::= { mldSnoopingTable 1 }  
		MLDSnoopingEntry	::= SEQUENCE{
			mldSnoopingIndex       				Integer32,
			mldSnoopingVlanId					Integer32,
			mldSnoopStatus						INTEGER,
			mldSnoopRouterPortsAutoLearn		INTEGER,		
			mldSnoopQueryRobustness				Integer32,
			mldSnoopQueryInterval				Integer32,
			mldSnoopQueryMaxResponseInterval	Integer32,
			mldSnoopLastMemberQueryCounter		Integer32,
			mldSnoopLastMemberQueryInterval		Integer32,
			mldSnoopImmediateLeave				INTEGER, 
			operMldSnoopQueryRobustness				Integer32,
			operMldSnoopQueryInterval				Integer32,
			operMldSnoopQueryMaxResponseInterval	Integer32,
			operMldSnoopLastMemberQueryCounter		Integer32,
			operMldSnoopLastMemberQueryInterval		Integer32

		}		
		mldSnoopingIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of MLD snooping"
			::= { mldSnoopingEntry 1 }	 
		mldSnoopingVlanId OBJECT-TYPE
			SYNTAX      Integer32 (1..4904)
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The MLD entry VLAN ID"
			::= { mldSnoopingEntry 2 }
		mldSnoopStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The enable status of MLD VLAN functionality"
			::= { mldSnoopingEntry 3 }	 
		mldSnoopRouterPortsAutoLearn OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The enable statue of MLD router port learning."
			::= { mldSnoopingEntry 4 }
		mldSnoopQueryRobustness	OBJECT-TYPE
			SYNTAX		Integer32 (1..7)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The Robusstness Variable allows tuning for the expected packet loss
						on a subnet"
			::= { mldSnoopingEntry 5 }	 
		mldSnoopQueryInterval OBJECT-TYPE
			SYNTAX      Integer32 (30..18000)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The interval of querier send general query"
			::= { mldSnoopingEntry 6 }
		mldSnoopQueryMaxResponseInterval	OBJECT-TYPE
			SYNTAX		Integer32 (5..20)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "In Membership Query Message, it specifies the maximum allowed
						time before sending a responding report in units of 1/10 second"
			::= { mldSnoopingEntry 7 }	 
		mldSnoopLastMemberQueryCounter OBJECT-TYPE
			SYNTAX      Integer32 (1..7)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The count that Querier-switch sends Group-Specific Queriers when
						it receives a Leave Group message for a group"
			::= { mldSnoopingEntry 8 }
		mldSnoopLastMemberQueryInterval	OBJECT-TYPE
			SYNTAX		Integer32 (1..25)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The interval that Querier-switch sends Group-Specific Queriers
						when it receives a Leave Group Message for a group"
			::= { mldSnoopingEntry 9 }	 
		mldSnoopImmediateLeave OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Leave the group when receive MLD Leave message."
			::= { mldSnoopingEntry 10 }											
		operMldSnoopQueryRobustness	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The operation MLD query robustness."
			::= { mldSnoopingEntry 11 }	 
		operMldSnoopQueryInterval OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The operation MLD query interval."
			::= { mldSnoopingEntry 12 }
		operMldSnoopQueryMaxResponseInterval	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The operating MLD query max response interval."
			::= { mldSnoopingEntry 13 }	 
		operMldSnoopLastMemberQueryCounter OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The operating MLD last member query counter."
			::= { mldSnoopingEntry 14 }
		operMldSnoopLastMemberQueryInterval	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The operation MLD last member query interval."
			::= { mldSnoopingEntry 15 }		

	mldQuerierTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF MLDQuerierEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of MLD querier"
		::= { mldSnooping 5 }
	mldQuerierEntry	OBJECT-TYPE
		SYNTAX		MLDQuerierEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of MLD querier"
		INDEX	{ mldQuerierVlanId }
		::= { mldQuerierTable 1 }  
		MLDQuerierEntry	::= SEQUENCE{
			mldQuerierVlanId    Integer32,
			mldQuerierState		INTEGER,
			mldQuerierStatus	INTEGER,
			mldQuerierVersion	INTEGER,		
			mldQuerierIP		DisplayString
		}		
		mldQuerierVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The VLAN ID of MLD querier"
			::= { mldQuerierEntry 1 }	 
		mldQuerierState OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The enabling status of MLD Querier Election on the chose
						VLANs"
			::= { mldQuerierEntry 2 }
		mldQuerierStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
				querier(1),
				nonQuerier(2)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The querier status of MLD Querier Election on the chose
						VLANs"
			::= { mldQuerierEntry 3 }	 
		mldQuerierVersion OBJECT-TYPE
			SYNTAX      INTEGER {
			 	v1(1),
			 	v2(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The query version of MLD Querier Election on the chose
						VLANs"
			::= { mldQuerierEntry 4 }
		mldQuerierIP	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The query IP address of MLD Querier Election on the chose
						VLANs"
			::= { mldQuerierEntry 5 }	 

	mldStaticGroupTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF MLDStaticGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of MLD static group"
		::= { mldSnooping 6 }
	mldStaticGroupEntry	OBJECT-TYPE
		SYNTAX		MLDStaticGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of MLD static group"
		INDEX	{ mldStaticGroupIndex }
		::= { mldStaticGroupTable 1 }  
		MLDStaticGroupEntry	::= SEQUENCE{
			mldStaticGroupIndex			Integer32,
			mldStaticGroupVlanId        Integer32,
			mldStaticGroupIPaddress		DisplayString,
			mldStaticGroupMemberPorts	BITS,
			mldStaticGroupRowStatus		INTEGER
		}
		mldStaticGroupIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..256)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of MLD static group"
			::= { mldStaticGroupEntry 1 }			
		mldStaticGroupVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The VLAN ID of MLD static group"
			::= { mldStaticGroupEntry 2 }	 
		mldStaticGroupIPaddress OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The IP address of this group"
			::= { mldStaticGroupEntry 3 }
		mldStaticGroupMemberPorts	OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The member ports of this group"
			::= { mldStaticGroupEntry 4 }	 
		mldStaticGroupRowStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			}  
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION	"User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { mldStaticGroupEntry 99 }

	mldGroupTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF MLDGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of MLD group"
		::= { mldSnooping 7 }
	mldGroupEntry	OBJECT-TYPE
		SYNTAX		MLDGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of MLD group"
		INDEX	{ mldGroupVlanId }
		::= { mldGroupTable 1 }  
		MLDGroupEntry	::= SEQUENCE{
			mldGroupVlanId         	Integer32,
			mldGroupIPaddress		DisplayString,
			mldGroupMemberPorts		DisplayString,
			mldGroupType			INTEGER,
			mldGroupLife			Integer32
		}		
		mldGroupVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The VLAN ID of MLD group"
			::= { mldGroupEntry 1 }	 
		mldGroupIPaddress OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The group IP address of this group"
			::= { mldGroupEntry 2 }
		mldGroupMemberPorts	OBJECT-TYPE
			SYNTAX		DisplayString 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The member ports of this group"
			::= { mldGroupEntry 3 }	 
		mldGroupType OBJECT-TYPE
			SYNTAX      INTEGER {
				static(1),
				dynamic(2)	
			} 
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The type of this group"
			::= { mldGroupEntry 4 }
		mldGroupLife OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The life time of this group"
			::= { mldGroupEntry 5 }   
			
	mldRouterTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF MLDRouterEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of MLD router"
		::= { mldSnooping 8 }
	mldRouterEntry	OBJECT-TYPE
		SYNTAX		MLDRouterEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of MLD router"
		INDEX	{ mldRouterVlanId }
		::= { mldRouterTable 1 }  
		MLDRouterEntry	::= SEQUENCE{
			mldRouterVlanId     Integer32,
			mldRouterPort		DisplayString,
			mldRouterExpireTime	Integer32
		}		
		mldRouterVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-only 
			STATUS		current
			DESCRIPTION "The VLAN ID of the MLD router."
			::= { mldRouterEntry 1 }	 
		mldRouterPort OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The port of the MLD router."
			::= { mldRouterEntry 2 }
		mldRouterExpireTime	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The expire time of the MLD router."
			::= { mldRouterEntry 3 }	
			 				 				
-- l2switching.jamboFrame
 	jamboFramePktSize OBJECT-TYPE 
		SYNTAX      Integer32 (1518..9216)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Jumbo frame size"
		::= { jamboFrame 1 } 							
-- l2switching.stp
	stpEnable	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Specify the STP status to be enable/disable on the switch.
					Enable STP will block all switch port and SNMP set will timeout."
		::= { stp 1 } 
	bpduForward	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	flooding(1),
		 	filtering(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The BPDU forwarding action when the global STP is disable"
		::= { stp 2 } 
	pathCostMethod	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	short(1),
		 	long(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The path cost method of STP"
		::= { stp 3 } 
	forceVersion	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	stp-compatible(1), 
		 	rstp-operation(2),
		 	mstp-operation(3)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The operating mode of STP
					STP-compatible: IEEE 802.1D STP operation
					RSTP-Operation: IEEE 802.1W operation"
		::= { stp 4 } 

	stpPortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF StpPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of STP port"
		::= { stp 5 }
	stpPortEntry	OBJECT-TYPE
		SYNTAX		StpPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of STP port"
		INDEX	{ stpPortIndex }
		::= { stpPortTable 1 }  
		StpPortEntry	::= SEQUENCE {   
			stpPortIndex  	Integer32,
			stpAdminEnable	INTEGER,
			stpPathCost		Integer32,
			stpEdgePort		INTEGER,
			stpP2pMac		INTEGER,
			stpMigrate		INTEGER
		}		
		stpPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of STP"
			::= { stpPortEntry 1 }	 
		stpAdminEnable OBJECT-TYPE
			SYNTAX      INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/disable the STP port state"
			::= { stpPortEntry 2 }
		stpPathCost	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the port is contribution, when it is the Root Port, to the Root
 						Path Cost for the Bridge. (0 means 'Auto')"
			::= { stpPortEntry 3 }
		stpEdgePort	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	yes(1),
			 	no(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the edge port configuration:
						No: Force to false state (as link to a bridge).
						Yes: Force to true state (as link to a host)."
			::= { stpPortEntry 4 }	 
		stpP2pMac OBJECT-TYPE
			SYNTAX      INTEGER {
				yes(1),
				no(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"the Point-to-Point port configuration:"
			::= { stpPortEntry 5 }
		stpMigrate	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Force to try to use the new MST/RST BPDUs, and hence to test the
						hypothesis that all legacy systems that do not understand the new
						BPDU formats have been removed from the LAN segment on the
						port(s)."
			::= { stpPortEntry 6 }    
	stpBridgeInfo	OBJECT IDENTIFIER ::= { stp 6 }
		stpBridgePriority	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the Bridge Priority in the CIST instance. Priority support the
						following value: 0, 4096, 8192, 12288, 16384, 20480, 24576, 28672,
						32768, 36864, 40960, 45056, 49152, 53248, 57344, 61440"
			::= { stpBridgeInfo 1 } 
		stpBridgeForwardDelay	OBJECT-TYPE
			SYNTAX		Integer32 (4..30)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the delay time an interface takes to converge from blocking
						state to forwarding state.
						Max Age <= 2*(Forward Delay Time - 1)"
			::= { stpBridgeInfo 2 }
		stpBridgeMaxAge	OBJECT-TYPE
			SYNTAX		Integer32 (6..40)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the time any switch should wait before trying to change the STP
						topology after unhearing Hello BPUD.
						Max Age <= 2*(Forward Delay Time - 1)
						Max Age >= 2*(Hello Time + 1)"
			::= { stpBridgeInfo 3 }
		stpBridgeTxHoldCount	OBJECT-TYPE
			SYNTAX		Integer32 (1..10)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the Transmit Hold Count used to limit BPDU transmission rate."
			::= { stpBridgeInfo 4 }
		stpBridgeHelloTime	OBJECT-TYPE
			SYNTAX		Integer32 (1..10) 
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the interval between periodic transmissions of BPDU by
						Designated Ports.
						Max Age >= 2*(Hello Time + 1)"
			::= { stpBridgeInfo 5 }															 	
	stpBridgeStatus	OBJECT IDENTIFIER ::= { stp 7 }		
		bridgeIdentifier	OBJECT-TYPE
			SYNTAX		DisplayString 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP bridge identifier"
			::= { stpBridgeStatus 1 } 
		definatedRootBridge	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP destination root bridge ID"
			::= { stpBridgeStatus 2 }
		rootPathCost	OBJECT-TYPE
			SYNTAX		Integer32 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP root path cost"
			::= { stpBridgeStatus 3 }
		designatedBridge	OBJECT-TYPE
			SYNTAX		DisplayString 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP designated bridge"
			::= { stpBridgeStatus 4 }
		rootPort	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP root port"
			::= { stpBridgeStatus 5 }
		lastTopologyChange	OBJECT-TYPE
			SYNTAX		INTEGER 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP last topology change"
			::= { stpBridgeStatus 6 }										
	stpPortStatusTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF StpPortStatusEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of STP port status"
		::= { stp 8 }
	stpPortStatusEntry	OBJECT-TYPE
		SYNTAX		StpPortStatusEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of STP port status"
		INDEX	{ stpPortStatusIndex }
		::= { stpPortStatusTable 1 }  
		StpPortStatusEntry	::= SEQUENCE {
			stpPortStatusIndex            	Integer32,
			stpPortPriority					Integer32,
			stpPortPathCost        			DisplayString,
			stpPortDesignatedRootBridge    	DisplayString,   
			stpPortRootPathCost        		Integer32,			
			stpPortDesignatedBridge        	DisplayString,
			stpPortEdgrPortConf            	DisplayString,
			stpPortP2PMacConf         		DisplayString,
			stpPortRoles               		INTEGER,
			stpPortStatus              		INTEGER
		}		
		stpPortStatusIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of STP port status"
			::= { stpPortStatusEntry 1 }	 
		stpPortPriority OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The Port Priority to the selected ports in the CIST instance.
						Priority support the following value: 0, 16, 32, 48, 64, 80, 96,
						112, 128, 144, 160, 176, 192, 208, 224, 240"
			::= { stpPortStatusEntry 2 }
		stpPortPathCost	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "Path Cost to the selected ports in the CIST instance.
						(0 means `Auto`)"
			::= { stpPortStatusEntry 3 }	 
		stpPortDesignatedRootBridge	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The designated root bridge"
			::= { stpPortStatusEntry 4 }	 
		stpPortRootPathCost OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The root path cost"
			::= { stpPortStatusEntry 5 }
		stpPortDesignatedBridge	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The designated bridge"
			::= { stpPortStatusEntry 6 }	 
		stpPortEdgrPortConf	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The edge port configuration"
			::= { stpPortStatusEntry 7 }	 
		stpPortP2PMacConf OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The point-to-point MAC configuration"
			::= { stpPortStatusEntry 8 }
		stpPortRoles	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	disabled(0),
			 	master(1),
			 	root(2),
			 	designated(3),
			 	alternate(4),
			 	backup(5)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port roles"
			::= { stpPortStatusEntry 9 }	 
		stpPortStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	disabled(0),
			 	discarding(1),
			 	learning(2),
			 	forwarding(3)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The port status"
			::= { stpPortStatusEntry 10 }

	stpStatisticTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF StpStatisticEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of STP statistic"
		::= { stp 9 }
	stpStatisticEntry	OBJECT-TYPE
		SYNTAX		StpStatisticEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of STP statistic"
		INDEX	{ stpStatisticPortIndex }
		::= { stpStatisticTable 1 }  
		StpStatisticEntry	::= SEQUENCE {
			stpStatisticPortIndex  			Integer32,
			configurationBPDUsReceived		Integer32,
			tcnBPDUsReceived        		Integer32,
			configurationBPDUsTransmitted 	Integer32,
			tcnBPDUsTransmitted    			Integer32
		}		
		stpStatisticPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of STP statistic"
			::= { stpStatisticEntry 1 }	 
		configurationBPDUsReceived OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The configuration BPDU received"
			::= { stpStatisticEntry 2 }
		tcnBPDUsReceived	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The TCN BPDU received"
			::= { stpStatisticEntry 3 }	 
		configurationBPDUsTransmitted OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The configuration BPDU transmitted"
			::= { stpStatisticEntry 4 }
		tcnBPDUsTransmitted	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The TCN BPDU transmitted"
			::= { stpStatisticEntry 5 }    
-- l2switching.stp.mstp
	mstp	OBJECT IDENTIFIER ::= { stp 10 }
    mstConfigIdentification		OBJECT IDENTIFIER ::= { mstp 1 }                        
	mstConfigName	OBJECT-TYPE
		SYNTAX		DisplayString 
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The configuration name of MSTP"
        ::= { mstConfigIdentification 1 }
	mstRevisionLevel	OBJECT-TYPE
		SYNTAX		Integer32 (0..65535) 
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The revision level of MSTP"
        ::= { mstConfigIdentification 2 }        
    mstInstanceID				OBJECT IDENTIFIER ::= { mstp 2 } 
	mstiIDSetting	OBJECT-TYPE
		SYNTAX		Integer32 (0..15)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The MSTI ID of MST instance ID"
        ::= { mstInstanceID 1 }
	mstiVlanListSetting	OBJECT-TYPE
		SYNTAX		DisplayString
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The VLAN list of MST instance ID"
        ::= { mstInstanceID 2 } 
	mstiIDSettingMove	OBJECT-TYPE
		SYNTAX		INTEGER {
			nothing(1),
			move(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The moving action of MST instance ID"
        ::= { mstInstanceID 3 }  
	mstiIDInfoTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF MSTIIDEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of MST instance ID info"
		::= { mstInstanceID 4 }
	mstiIDInfoEntry	OBJECT-TYPE
		SYNTAX		MSTIIDEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of MST instance ID info"
		INDEX	{ mstiIDIndex }
		::= { mstiIDInfoTable 1 }  
		MSTIIDEntry	::= SEQUENCE {
			mstiIDIndex     	Integer32,
			mstiVLANList		DisplayString
		}		
		mstiIDIndex	OBJECT-TYPE
			SYNTAX		Integer32 (0 ..15)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The MSTI ID of MST instance ID info"
			::= { mstiIDInfoEntry 1 }	 
		mstiVLANList OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The VLAN List of MST instance ID info"
			::= { mstiIDInfoEntry 2 }                            						
    stpInstance					OBJECT IDENTIFIER ::= { mstp 3 } 
    stpPriorityInfoTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF STPPriorityInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of STP priority info"
		::= { stpInstance 1 }
	stpPriorityInfoEntry	OBJECT-TYPE
		SYNTAX		STPPriorityInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of STP priority info"
		INDEX	{ stpMstiIDIndex }
		::= { stpPriorityInfoTable 1 }  
		STPPriorityInfoEntry	::= SEQUENCE {
			stpMstiIDIndex     	Integer32,
			stpPriorityValue	Integer32,
			stpPriorityDefault	INTEGER
		}		
		stpMstiIDIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..15)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The MSTI ID of STP instance info"
			::= { stpPriorityInfoEntry 1 }	 
		stpPriorityValue OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The priority of STP instance info. Priority support the
						following value: 0, 4096, 8192, 12288, 16384, 20480, 24576, 28672,
						32768, 36864, 40960, 45056, 49152, 53248, 57344, 61440"
			::= { stpPriorityInfoEntry 2 }    
		stpPriorityDefault OBJECT-TYPE
			SYNTAX      INTEGER {
			 	nothing(1),
			 	default(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Set the priority to default value."
			::= { stpPriorityInfoEntry 3 }  			   
    mstInstanceInfo				OBJECT IDENTIFIER ::= { mstp 4 }
		mstBridgeIdentifier	OBJECT-TYPE
			SYNTAX		DisplayString 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP bridge identifier in MST"
			::= { mstInstanceInfo 1 } 
		mstDesignatedRootBridge	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP destination root bridge ID in MST"
			::= { mstInstanceInfo 2 }
		mstRootPathCost	OBJECT-TYPE
			SYNTAX		Integer32 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP root path cost in MST"
			::= { mstInstanceInfo 3 }
		mstDesignatedBridge	OBJECT-TYPE
			SYNTAX		DisplayString 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP designated bridge in MST"
			::= { mstInstanceInfo 4 }
		mstRootPort	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP root port in MST"
			::= { mstInstanceInfo 5 }
		mstLastTopologyChange	OBJECT-TYPE
			SYNTAX		INTEGER 
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "STP last topology change in MST"
			::= { mstInstanceInfo 6 }    			
	mstStpPortStatusTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF MSTStpPortStatusEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of STP port status in MST"
		::= { mstInstanceInfo 7 }
	mstStpPortStatusEntry	OBJECT-TYPE
		SYNTAX		MSTStpPortStatusEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of STP port status in MST"
		INDEX	{ mstStpPortStatusIndex }
		::= { mstStpPortStatusTable 1 }  
		MSTStpPortStatusEntry	::= SEQUENCE {
			mstStpPortStatusIndex            	Integer32,
			mstStpPortPriority					DisplayString,
			mstStpPortPathCost        			DisplayString,
			mstStpPortDesignatedRootBridge    	DisplayString,   
			mstStpPortRootPathCost        		DisplayString,			
			mstStpPortDesignatedBridge        	DisplayString,
			mstStpPortEdgrPortConf            	DisplayString,
			mstStpPortP2PMacConf         		DisplayString,
			mstStpPortRoles               		DisplayString,
			mstStpPortStatus              		DisplayString
		}		
		mstStpPortStatusIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of STP port status in MST"
			::= { mstStpPortStatusEntry 1 }	 
		mstStpPortPriority OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The Port Priority to the selected ports in the CIST instance.
						Priority support the following value: 0, 16, 32, 48, 64, 80, 96,
						112, 128, 144, 160, 176, 192, 208, 224, 240"
			::= { mstStpPortStatusEntry 2 }
		mstStpPortPathCost	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "Path Cost to the selected ports in the CIST instance.
						(0 means `Auto`)"
			::= { mstStpPortStatusEntry 3 }	 
		mstStpPortDesignatedRootBridge	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The designated root bridge"
			::= { mstStpPortStatusEntry 4 }	 
		mstStpPortRootPathCost OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The root path cost"
			::= { mstStpPortStatusEntry 5 }
		mstStpPortDesignatedBridge	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The designated bridge"
			::= { mstStpPortStatusEntry 6 }	 
		mstStpPortEdgrPortConf	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The edge port configuration"
			::= { mstStpPortStatusEntry 7 }	 
		mstStpPortP2PMacConf OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The point-to-point MAC configuration"
			::= { mstStpPortStatusEntry 8 }
		mstStpPortRoles	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port roles"
			::= { mstStpPortStatusEntry 9 }	 
		mstStpPortStatus OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The port status"
			::= { mstStpPortStatusEntry 10 }			
	mstInstanceInfoID	OBJECT-TYPE
			SYNTAX		Integer32 
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "MST instance ID"
			::= { mstInstanceInfo 8 }			

-- l2switching.qinqVlan
	outerVlanEthtype	OBJECT-TYPE
		SYNTAX		DisplayString 
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Q-in-Q outer VLAN ether type"
        ::= { qinqVlan 1 }
	qinqPortInfoTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF QinQPortInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of Q-in-Q port info"
		::= { qinqVlan 2 }
	qinqPortInfoEntry	OBJECT-TYPE
		SYNTAX		QinQPortInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of Q-in-Q port info"
		INDEX	{ qinqPortIndex }
		::= { qinqPortInfoTable 1 }  
		QinQPortInfoEntry	::= SEQUENCE {
			qinqPortIndex     	INTEGER,
			qinqOuterPVID		INTEGER,
			qinqOuterMode   	INTEGER
		}		
		qinqPortIndex	OBJECT-TYPE
			SYNTAX		INTEGER (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of Q-in-Q port info"
			::= { qinqPortInfoEntry 1 }	 
		qinqOuterPVID OBJECT-TYPE
			SYNTAX      INTEGER (1..4094)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The Q-in-Q outer PVID"
			::= { qinqPortInfoEntry 2 }       
		qinqOuterMode OBJECT-TYPE
			SYNTAX      INTEGER {
				nni(1),
				uni(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The Q-in-Q outer mode"
			::= { qinqPortInfoEntry 3 }  
						
-- l2switching.garp
	garpJoinTime	OBJECT-TYPE
		SYNTAX		INTEGER (1..600)   
		UNITS 		"Second"
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The GARP join time. Join time * 2 must be below leave time."
        ::= { garp 1 }
	garpLeaveTime	OBJECT-TYPE
		SYNTAX		INTEGER (2..3000)   
		UNITS 		"Second"
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The GARP leave time. The leave time must below leave all time and bigger then Join time * 2"
        ::= { garp 2 }
	garpLeaveAllTime	OBJECT-TYPE
		SYNTAX		INTEGER (2..12000)   
		UNITS 		"Second"
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The GARP leave all time. The leave all time must bigger then leave time."
        ::= { garp 3 }
	
-- l2switching.gvrp
	gvrpStatus	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}   
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The status of GVRP."
        ::= { gvrp 1 }
-- l2switching.xRingElite
	xRingEliteState	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}   
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The status of X-Ring Elite."
        ::= { xRingElite 1 }
	xRingEliteRingIDTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF XRingEliteRingIDEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of X-Ring Elite ring ID"
		::= { xRingElite 2 }
	xRingEliteRingIDEntry	OBJECT-TYPE
		SYNTAX		XRingEliteRingIDEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of X-Ring Elite ring ID"
		INDEX	{ xRingEliteRingIDIndex }
		::= { xRingEliteRingIDTable 1 }  
		XRingEliteRingIDEntry	::= SEQUENCE{
			xRingEliteRingIDIndex	Integer32,
			xRingEliteRingID    	Integer32,
			xRingEliteRule			INTEGER,
			xRingElitePort1			Integer32,
			xRingElitePort2			Integer32,
			xRingEliteRingIDStatus	DisplayString,
			xRingElitePort1Status	DisplayString,
			xRingElitePort2Status	DisplayString,
			xRingEliteRowStatus		INTEGER
		}
		xRingEliteRingIDIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..512)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of X-Ring Elite ring ID"
			::= { xRingEliteRingIDEntry 1 }			
		xRingEliteRingID	OBJECT-TYPE
			SYNTAX		Integer32 (1 .. 255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The ring ID of X-Ring Elite"
			::= { xRingEliteRingIDEntry 2 }	 
		xRingEliteRule OBJECT-TYPE
			SYNTAX      INTEGER {
			 	basic(1),
			 	couple(2),
			 	tunnel(3),
			 	mrm(4),
			 	mrc(5),
			 	legacy(6)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The rule of the X-Ring Elite"
			::= { xRingEliteRingIDEntry 3 }
		xRingElitePort1	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The port1 of this X-Ring Elite. For trunk port : Trunk1 is 1000,
						Trunk2 is 1001, ..."
			::= { xRingEliteRingIDEntry 4 }
		xRingElitePort2	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The port2 of this X-Ring Elite. For trunk port : Trunk1 is 1000,
						Trunk2 is 1001, ..."
			::= { xRingEliteRingIDEntry 5 }
		xRingEliteRingIDStatus	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The status of this X-Ring Elite"
			::= { xRingEliteRingIDEntry 6 }					
		xRingElitePort1Status	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port1 status of this X-Ring Elite"
			::= { xRingEliteRingIDEntry 7 }
		xRingElitePort2Status	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port2 status of this X-Ring Elite"
			::= { xRingEliteRingIDEntry 8 }						 
		xRingEliteRowStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			}  
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION	"User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { xRingEliteRingIDEntry 99 }
--l2switching.loopback
	loopbackEnabled	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}   
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The status of loopback detection."
        ::= { loopback 1 }
	loopbackInterval	OBJECT-TYPE
		SYNTAX		Integer32 (1..32767)   
		UNITS 		"Second"
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The interval of loopback detection."
        ::= { loopback 2 }
	loopbackRecoverTime	OBJECT-TYPE
		SYNTAX		Integer32 (60..1000000)   
		UNITS 		"Second"
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The recover time of loopback detection."
        ::= { loopback 3 }
	loopbackPortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF LoopbackPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The port table of loopback detection"
		::= { loopback 4 }
	loopbackPortEntry	OBJECT-TYPE
		SYNTAX		LoopbackPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The port entry of loopback detection"
		INDEX	{ loopbackPortIndex }
		::= { loopbackPortTable 1 }  
		LoopbackPortEntry	::= SEQUENCE {
			loopbackPortIndex		Integer32,
			loopbackPortEnabled    	INTEGER,
			loopbackPortLoopStatus	INTEGER
		}
		loopbackPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of port loopback detection"
			::= { loopbackPortEntry 1 }			
		loopbackPortEnabled	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enabled(1),
			 	disabled(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The enabled status of port loopback detection"
			::= { loopbackPortEntry 2 }
		loopbackPortLoopStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
				normal(1),
				shutdown(2)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The loop status of port loopback detection"
			::= { loopbackPortEntry 3 }
-- l2switching.xRingPro
	xRingProStatus	OBJECT-TYPE
		SYNTAX		INTEGER {
			enable(1),
			disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The status of X-Ring Pro"
		::= { xRingPro 1 }
	xRingProRingSetting			OBJECT IDENTIFIER ::= { xRingPro 2 }	
		xRingProRingID	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The ring ID of X-Ring Pro"
			::= { xRingProRingSetting 1 }
		xRingProRingPort1	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The port1 of X-Ring Pro. For trunk port : Trunk1 is 1000,
						Trunk2 is 1001, ..."
			::= { xRingProRingSetting 2 }
		xRingProRingPort2	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The port2 of X-Ring Pro. For trunk port : Trunk1 is 1000,
						Trunk2 is 1001, ..."
			::= { xRingProRingSetting 3 }
		xRingProRingAdd	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	nothing(0),
			 	add(1)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The add action of X-Ring Pro"
			::= { xRingProRingSetting 4 }
	xRingProCoupleSetting		OBJECT IDENTIFIER ::= { xRingPro 3 }
		xRingProCoupleID	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The couple ring ID of X-Ring Pro"
			::= { xRingProCoupleSetting 1 }
		xRingProCouplePort	OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The couple port of X-Ring Pro"
			::= { xRingProCoupleSetting 2 }
		xRingProCoupleMasterRingID	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The master ring ID of X-Ring Pro"
			::= { xRingProCoupleSetting 3 }
		xRingProCoupleAdd	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	nothing(0),
			 	add(1)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The add action of X-Ring Pro"
			::= { xRingProCoupleSetting 4 }
	xRingProInfoTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF XRingProInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of X-Ring Pro Infomation"
		::= { xRingPro 4 }
	xRingProInfoEntry	OBJECT-TYPE
		SYNTAX		XRingProInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of X-Ring Pro Infomation"
		INDEX	{ xRingProInfoRingID }
		::= { xRingProInfoTable 1 }  
		XRingProInfoEntry	::= SEQUENCE {
			xRingProInfoRingID			Integer32,
			xRingProInfoMode    		DisplayString,
			xRingProInfoOperState		DisplayString,
			xRingProInfoPort1           DisplayString,
			xRingProInfoPort1FwdState  	DisplayString,
			xRingProInfoPort2           DisplayString,
			xRingProInfoPort2FwdState	DisplayString,
			xRingProInfoDel				INTEGER,
			xRingProInfoRole    		INTEGER
		}
		xRingProInfoRingID	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The ring ID of X-Ring Pro Infomation"
			::= { xRingProInfoEntry 1 }				
		xRingProInfoMode	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The mode of X-Ring Pro Infomation"
			::= { xRingProInfoEntry 2 }			
		xRingProInfoOperState	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The operation state of X-Ring Pro Infomation"
			::= { xRingProInfoEntry 3 }		
		xRingProInfoPort1	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port1 of X-Ring Pro Infomation."
			::= { xRingProInfoEntry 4 }
		xRingProInfoPort1FwdState	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port1 forwarding state of X-Ring Pro Infomation"
			::= { xRingProInfoEntry 5 }
		xRingProInfoPort2	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port2 of X-Ring Pro Infomation"
			::= { xRingProInfoEntry 6 }
		xRingProInfoPort2FwdState	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port2 forwarding state of X-Ring Pro Infomation"
			::= { xRingProInfoEntry 7 }
		xRingProInfoDel	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	nothing(0),
			 	del(1)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The delete action of X-Ring Pro Infomation"
			::= { xRingProInfoEntry 8 }
  	xRingProInfoRole	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	member(0),
			 	head(1),
			 	tail(2),
			 	none(3) 			 	
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The role of X-Ring Pro Infomation"
			::= { xRingProInfoEntry 9 }							

			
	xRingProPairSetting		OBJECT IDENTIFIER ::= { xRingPro 5 }
		xRingProPairID	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The pair ring ID of X-Ring Pro"
			::= { xRingProPairSetting 1 }
		xRingProPairPort	OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The pair port of X-Ring Pro"
			::= { xRingProPairSetting 2 }
		xRingProPairMasterRingID	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The pair master ring ID of X-Ring Pro"
			::= { xRingProPairSetting 3 }
		xRingProPairAdd	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	nothing(0),
			 	add(1)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The add action of X-Ring Pro"
			::= { xRingProPairSetting 4 }			
			
	xRingProRPairSetting		OBJECT IDENTIFIER ::= { xRingPro 6 }
		xRingProRPairID	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The R-pair ring ID of X-Ring Pro"
			::= { xRingProRPairSetting 1 }
		xRingProRPairPort	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The R-pair port of X-Ring Pro"
			::= { xRingProRPairSetting 2 }
		xRingProRPairMasterRingID	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The R-pair master ring ID of X-Ring Pro"
			::= { xRingProRPairSetting 3 }
		xRingProRPairAdd	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	nothing(0),
			 	add(1)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The add action of X-Ring Pro"
			::= { xRingProRPairSetting 4 }		
			
	xRingProChainSetting		OBJECT IDENTIFIER ::= { xRingPro 7 }
		xRingProChainID	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The chain ring ID of X-Ring Pro"
			::= { xRingProChainSetting 1 }
			
		xRingProChainRole	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	member(0),
			 	head(1),
			 	tail(2)			 	
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The role of X-Ring Pro."
			::= { xRingProChainSetting 2 }			
				
		xRingProChainHeadPort	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The head port of X-Ring Pro.  For trunk port : Trunk1 is 1000,
						Trunk2 is 1001, ..."
			::= { xRingProChainSetting 3 }

		xRingProChainMemberPort	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The member port of X-Ring Pro.  For trunk port : Trunk1 is 1000,
						Trunk2 is 1001, ..."
			::= { xRingProChainSetting 4 }

		xRingProChainAdd	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	nothing(0),
			 	add(1)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The add action of X-Ring Pro"
			::= { xRingProChainSetting 5 }
						
						
-- l2switching.gmrp
	gmrpStatus	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}   
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The status of GMRP."
        ::= { gmrp 1 }        

	gmrpMulticastGroupTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF GMRPMulticastGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of GMRP multicast group"
		::= { gmrp 2 }
	gmrpMulticastGroupEntry	OBJECT-TYPE
		SYNTAX		GMRPMulticastGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of GMRP multicast group"
		INDEX	{ gmrpMulticastGroupVlanId }
		::= { gmrpMulticastGroupTable 1 }  
		
		GMRPMulticastGroupEntry	::= SEQUENCE {
		  gmrpMulticastGroupIndex     	Integer32, 
			gmrpMulticastGroupVlanId     	Integer32,
			gmrpMulticastGroupMacAddress		DisplayString,
			gmrpMulticastGroupType         INTEGER,
			gmrpMulticastGroupMemberPorts   	DisplayString
		}
		gmrpMulticastGroupIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..10)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of GMRP multicast group"
			::= { gmrpMulticastGroupEntry 1 }				
		gmrpMulticastGroupVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The vlan id of GMRP multicast group"
			::= { gmrpMulticastGroupEntry 2 }	 
		gmrpMulticastGroupMacAddress OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The MAC address of GMRP multicast group"
			::= { gmrpMulticastGroupEntry 3 }  		
			     
		gmrpMulticastGroupType OBJECT-TYPE
			SYNTAX      INTEGER {
				static(1),
				dynamic(2)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The type of GMRP multicast group"
			::= { gmrpMulticastGroupEntry 4 }  
			    
		gmrpMulticastGroupMemberPorts OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The member ports of GMRP multicast group"
			::= { gmrpMulticastGroupEntry 5 }  

-- l2switching.erps 
	erpsState	OBJECT-TYPE
		SYNTAX		INTEGER {
			enable(1),
			disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The status of ERPS"
		::= { erps 1 }

	erpsGroupTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF ErpsGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of ERPS group."
		::= { erps 2 }
	erpsGroupEntry	OBJECT-TYPE
		SYNTAX		ErpsGroupEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of ERPS group."
		INDEX	{ erpsGroupRingId }
		::= { erpsGroupTable 1 }  
		ErpsGroupEntry	::= SEQUENCE {
			erpsGroupRingIndex	Integer32,
			erpsGroupInstance	Integer32,
			erpsGroupRingId			Integer32,
			erpsGroupRole    		INTEGER,
			erpsGroupState			DisplayString,
			erpsGroupEastLink       Integer32,
			erpsGroupEastLinkRPL  	INTEGER,
			erpsGroupEastLinkState  DisplayString,
			erpsGroupWestLink       Integer32,
			erpsGroupWestLinkRPL  	INTEGER,
			erpsGroupWestLinkState  DisplayString,
			erpsGroupMEL						Integer32,
			erpsGroupRAPSChannelVlan Integer32,
			erpsGroupTrafficChannel	Integer32,
			erpsGroupRevertive			INTEGER,
			erpsGroupType						INTEGER,
			erpsGroupInterconnected	INTEGER,
			erpsGroupChannel  			INTEGER,
			erpsGroupTcPropagation	INTEGER,
			erpsWTRTimer						Integer32,
			erpsGuardTimer					Integer32,
			erpsHoldOffTimer				Integer32,
			erpsGroupRowStatus			INTEGER
		}
		
		erpsGroupRingIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of ERPS group."
			::= { erpsGroupEntry 1 }	
		
		erpsGroupInstance	OBJECT-TYPE
			SYNTAX		Integer32 (1..8)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The instance of ERPS group."
			::= { erpsGroupEntry 2 }	

		
		erpsGroupRingId	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The ring ID of ERPS group."
			::= { erpsGroupEntry 3 }	

		erpsGroupRole	OBJECT-TYPE
			SYNTAX		INTEGER {
				rplowner(0),
				rplneighbor(1),
				other(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The role of ERPS group"
			::= { erpsGroupEntry 4 }

		erpsGroupState	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The current state of ERPS group."
			::= { erpsGroupEntry 5 }

		erpsGroupEastLink	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The east link port of ERPS group. For trunk port : Trunk1 is 1000,
						Trunk2 is 1001, ..."
			::= { erpsGroupEntry 6 }	

		erpsGroupEastLinkRPL	OBJECT-TYPE
			SYNTAX		INTEGER {
				rpl(1),
				n-rpl(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The rpl setting of ERPS group east link."
			::= { erpsGroupEntry 7 }

		erpsGroupEastLinkState	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The current state of ERPS group east link."
			::= { erpsGroupEntry 8 }

		erpsGroupWestLink	OBJECT-TYPE
			SYNTAX		Integer32 (1..255)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The west link port of ERPS group. For trunk port : Trunk1 is 1000,
						Trunk2 is 1001, ..."
			::= { erpsGroupEntry 9 }	

		erpsGroupWestLinkRPL	OBJECT-TYPE
			SYNTAX		INTEGER {
				rpl(1),
				n-rpl(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The rpl setting of ERPS group west link"
			::= { erpsGroupEntry 10 }

		erpsGroupWestLinkState	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The current state of ERPS group west link."
			::= { erpsGroupEntry 11 }

		erpsGroupMEL	OBJECT-TYPE
			SYNTAX		Integer32 (0..7)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The MEL of ERPS group."
			::= { erpsGroupEntry 12 }	

		erpsGroupRAPSChannelVlan	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The r-aps channel vlan of ERPS group."
			::= { erpsGroupEntry 13 }	

		erpsGroupTrafficChannel	OBJECT-TYPE
			SYNTAX		Integer32 (0..15)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The traffic channel of ERPS group."
			::= { erpsGroupEntry 14 }	

		erpsGroupRevertive	OBJECT-TYPE
			SYNTAX		INTEGER {
				revertive(1),
				none-revertive(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The revertive setting of ERPS group."
			::= { erpsGroupEntry 15 }

		erpsGroupType	OBJECT-TYPE
			SYNTAX		INTEGER {
				majorRing(1), 
				subRing(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The ring type of ERPS group."
			::= { erpsGroupEntry 16 }

		erpsGroupInterconnected	OBJECT-TYPE
			SYNTAX		INTEGER {
				interconnected(1),
				none-interconnected(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The interconnected setting of ERPS group."
			::= { erpsGroupEntry 17 }

		erpsGroupChannel	OBJECT-TYPE
			SYNTAX		INTEGER {
				with-virtual-channel(1),
				without-virtual-channel(2)   
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The virtual channel setting of ERPS group."
			::= { erpsGroupEntry 18 }

		erpsGroupTcPropagation	OBJECT-TYPE
			SYNTAX		INTEGER {
				tc-propagation(1),
				none-tc-propagation(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The tc-propagation setting of ERPS group."
			::= { erpsGroupEntry 19 }

		erpsWTRTimer	OBJECT-TYPE
			SYNTAX		Integer32 (1..12)
  		UNITS 		"Unit"
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The WTR timer of ERPS group.(1 Unit = 1 minute) "
			::= { erpsGroupEntry 20 }	

		erpsGuardTimer	OBJECT-TYPE
			SYNTAX		Integer32 (1..200)
			UNITS 		"Unit"
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The guard timer of ERPS group.(1 Unit = 10 ms)"
			::= { erpsGroupEntry 21 }	

		erpsHoldOffTimer	OBJECT-TYPE
			SYNTAX		Integer32 (0..100)
			UNITS 		"Unit"
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The hold-off timer of ERPS group.(1 Unit = 100 ms)"
			::= { erpsGroupEntry 22 }	

		erpsGroupRowStatus OBJECT-TYPE
			SYNTAX		INTEGER {
			 	valid(1),
			 	createRequest(2),
			 	underCreation(3),
			 	invalid(4)
			}		
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createRequest(2) to create new entry.
						After setup the value, user use valid(1) to set into switch.
						User can use destory to invalid(4) an entry."
			::= { erpsGroupEntry 99 }
							
							
-- mac address table
 	staticMacSetting		OBJECT IDENTIFIER ::= { macAddressTable 1 }
	dynamicMacSetting		OBJECT IDENTIFIER ::= { macAddressTable 2 }
	dynamicLearned			OBJECT IDENTIFIER ::= { macAddressTable 3 }

-- macAddressTable.staticMacSettingTable 
	staticMacSettingTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF StaticMacSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of static MAC setting"
		::= { staticMacSetting 1 }
	staticMacSettingEntry	OBJECT-TYPE
		SYNTAX		StaticMacSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of static MAC setting"
		INDEX	{ staticMacSettingIndex }
		::= { staticMacSettingTable 1 }  
		StaticMacSettingEntry	::= SEQUENCE {
			staticMacSettingIndex 		Integer32,
			staticMacSettingMacAddress	DisplayString,
			staticMacSettingVlan        Integer32,
			staticMacSettingPort 		Integer32,
			staticMacSettingRowStatus   INTEGER
		}		
		staticMacSettingIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..256)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of static MAC setting"
			::= { staticMacSettingEntry 1 }	 
		staticMacSettingMacAddress OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The MAC address to which packets will be statically forwardef.
						It only supports unicast MAC address"
			::= { staticMacSettingEntry 2 }
		staticMacSettingVlan	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the VLAN which the static MAC belongs to"
			::= { staticMacSettingEntry 3 }	 
		staticMacSettingPort OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"the port number of the MAC entry. For trunk port : Trunk1 is 1000,
						Trunk2 is 1001, ..."
			::= { staticMacSettingEntry 4 }
		staticMacSettingRowStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			} 
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { staticMacSettingEntry 99 }	
-- macAddressTable.dynamicMacSetting 
	macAgingTime	OBJECT-TYPE
		SYNTAX		Integer32 (10..630)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The dynamic MAC address aging out value"
		::= { dynamicMacSetting 1 }	 
-- macAddressTable.dynamicLearned
	clearMacAddressTable	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	clear(1)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Clear the MAC table"
		::= { dynamicLearned 1 }	 
	macAddressInfoTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF MacAddressInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of MAC address info"
		::= { dynamicLearned 2 }
	macAddressInfoEntry	OBJECT-TYPE
		SYNTAX		MacAddressInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of MAC address info"
		INDEX	{ macAddressInfoIndex }
		::= { macAddressInfoTable 1 }  
		MacAddressInfoEntry	::= SEQUENCE {
			macAddressInfoIndex	Integer32,
			macAddressInfoMAC 	DisplayString,
			macAddressInfoVlan	Integer32,
			macAddressInfoType  INTEGER,
			macAddressInfoPort 	DisplayString,
			addtoStaticMacTable INTEGER
		}
		macAddressInfoIndex OBJECT-TYPE
			SYNTAX      Integer32 (1..65535)
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The index of MAC address info"
			::= { macAddressInfoEntry 1 }		
		macAddressInfoMAC	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The MAC address to show dynamic MAC entries."
			::= { macAddressInfoEntry 2 }	 
		macAddressInfoVlan OBJECT-TYPE
			SYNTAX      Integer32 (1..4094)
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The VLAN to show dynamic MAC entries."
			::= { macAddressInfoEntry 3 }
		macAddressInfoType	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	static(1),
			 	dynamic(2)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The type of MAC address info"
			::= { macAddressInfoEntry 4 }	 
		macAddressInfoPort OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The port of MAC address info"
			::= { macAddressInfoEntry 5 }
		addtoStaticMacTable	OBJECT-TYPE
			SYNTAX		INTEGER {  
				nothing(0),
			 	addtoStaticMac(1)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Add the entry from dynamic to static."
			::= { macAddressInfoEntry 6 }

-- security
	stormControl	OBJECT IDENTIFIER ::= { security 1 }
	protectedPort	OBJECT IDENTIFIER ::= { security 2 }
	dos				OBJECT IDENTIFIER ::= { security 3 }
	access			OBJECT IDENTIFIER ::= { security 4 }   
	portSecurity	OBJECT IDENTIFIER ::= { security 5 }   
	ipSecurity		OBJECT IDENTIFIER ::= { security 6 } 
	ieee8021x		OBJECT IDENTIFIER ::= { security 7 }
	securityLogin		OBJECT IDENTIFIER ::= { security 8 }
	acl		OBJECT IDENTIFIER ::= { security 9 }
	ipSourceGuard		OBJECT IDENTIFIER ::= { security 10 }	
	dhcpSnooping		OBJECT IDENTIFIER ::= { security 11 }	
	arpSpoofing		OBJECT IDENTIFIER ::= { security 12 }			
-- security.stormControl	
	stromControlUnit	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	pps(1),
		 	bps(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The mode of stromg control.
					pps: strom control rate calculates by packet-based
					bps: strom control rate calculates by octet-based"
		::= { stormControl 1 }
	stromControlPreamble-IFG	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	excluded(1),
		 	included(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "the rate calculates w/o preamble & IFG (20 bytes)
					Excluded: exclude preamble & IFG (20 bytes) when count
					ingress storm control rate.
					Included: include preamble & IFG (20 bytes) when count
					ingress storm control rate."
		::= { stormControl 2 }
	stromControlPortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF PortSecSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of port security setting"
		::= { stormControl 3 }
	stromControlPortEntry	OBJECT-TYPE
		SYNTAX		PortSecSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of port security setting"
		INDEX	{ stromControlPortIndex }
		::= { stromControlPortTable 1 }  
		PortSecSettingEntry	::= SEQUENCE {
			stromControlPortIndex   Integer32,
			stromControlPortState	INTEGER,
			stromControlPortAction  INTEGER,
			enablebroadcast         INTEGER,
			broadcastRate           Integer32,
			enableunknownMulticast  INTEGER,
			unknownMulticastRate    Integer32,
			enableunknownUnicast    INTEGER,
			unknownUnicastRate      Integer32
		}		
		stromControlPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of port security setting"
			::= { stromControlPortEntry 1 }	 
		stromControlPortState OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"the state of setting"
			::= { stromControlPortEntry 2 }
		stromControlPortAction	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	drop(1),
			 	shutdown(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "the state of setting
						Drop: Packets exceed storm control rate will be droped.
						Shutdown: Port exceed storm control rate will be shutdown."
			::= { stromControlPortEntry 3 }	 
		enablebroadcast OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/diable the broadcast packet"
			::= { stromControlPortEntry 4 }
		broadcastRate	OBJECT-TYPE
			SYNTAX		Integer32 (1..1000000)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Value of storm control rate, Unit: pps (packet per-second) or Kbps
						(Kbits per-second) depends on global mode setting.
						The range is from 0 to 1000000."
			::= { stromControlPortEntry 5 }
		enableunknownMulticast OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/diable the unknown multicast packet"
			::= { stromControlPortEntry 6 }
		unknownMulticastRate	OBJECT-TYPE
			SYNTAX		Integer32 (1..1000000)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Value of storm control rate, Unit: pps (packet per-second) or Kbps
						(Kbits per-second) depends on global mode setting.
						The range is from 0 to 1000000."
			::= { stromControlPortEntry 7 }	 
		enableunknownUnicast OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/diable the unknown unicast packet"
			::= { stromControlPortEntry 8 }
		unknownUnicastRate	OBJECT-TYPE
			SYNTAX		Integer32 (1..1000000)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Value of storm control rate, Unit: pps (packet per-second) or Kbps
						(Kbits per-second) depends on global mode setting.
						The range is from 0 to 1000000."
			::= { stromControlPortEntry 9 }
-- security.protectedPort
	protectedPortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF ProtectedPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of protected port"
		::= { protectedPort 1 }
	protectedPortEntry	OBJECT-TYPE
		SYNTAX		ProtectedPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of protected port"
		INDEX	{ protectedPortIndex }
		::= { protectedPortTable 1 }  
		ProtectedPortEntry	::= SEQUENCE {
			protectedPortIndex         		Integer32,
			protectedPortType				INTEGER
		}		
		protectedPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of protected port"
			::= { protectedPortEntry 1 }	 
		protectedPortType OBJECT-TYPE
			SYNTAX      INTEGER {
			 	unprotected(1), 
			 	porotected(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Configure port protect type
						Unprotected: Unprotected port can communicate
						with all ports.
						Protected: Prevent protected ports from
						communication with each other."
			::= { protectedPortEntry 2 }
-- security.dos
	dmacEqualsmac	OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Both the source and the destination MAC addresses are the
					same"
		::= { dos 1 } 
	land OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Both the source and the destination IPv4/IPv6 addresses are the
					same"
		::= { dos 2 } 
	udpBlat OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Both the source and the destination UDP port are the same"
		::= { dos 3 } 
	tcpBlat OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Both the source and the destination TCP port are the same"
		::= { dos 4 } 
	pod OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Ping packets that length are larger than 65535 bytes"
		::= { dos 5 } 
	ipv6MinFragment OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "IPv6 fragmented packets (not including the last one) that
					payload length less than 1240 bytes, and the Min length can
					be configured if needed."
		::= { dos 6 } 
	ipv6MinFragmentValue OBJECT-TYPE
		SYNTAX		Integer32 (0..65535)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "IPv6 fragmented packets (not including the last one) that
					payload length less than 1240 bytes, and the Min length can
					be configured if needed."
		::= { dos 7} 
	icmpFragment OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Fragmented ICMP packets."
		::= { dos 8 } 
	ipv4PingMaxSize OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "IPv4 PING packet with the length"
		::= { dos 9 } 
	ipv6PingMaxSize OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "IPv6 PING packet with the length"
		::= { dos 10 } 
	pingMaxSizeSetting OBJECT-TYPE
		SYNTAX		Integer32 (0..65535)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Ping packet Max Size Setting. The default value is 512
					Bytes, it can be configured if needed."
		::= { dos 11 } 
	smurfAttack OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "ICMP echo request packet that destination IPv4 address is
					broadcast address."
		::= { dos 12 } 
	smurfAttackValue OBJECT-TYPE
		SYNTAX		Integer32 (0..32)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The default Netmask length is 0, and it can be configured if
					needed."
		::= { dos 13 } 
	tcpMinHdrSize OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "TCP packet that header length is less than the configured
					value."
		::= { dos 14 } 
	tcpMinHdrSizeValue OBJECT-TYPE
		SYNTAX		Integer32 (0..31)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "The default TCP Min Hdr Size is 20, it can be configured if
					needed."
		::= { dos 15 } 
	tcp-Syn OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "TCP  SYN packets with source port less than 1024."
		::= { dos 16 } 
	nullScanAttack OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "TCP sequence number is zero, and all control flags are
					zeroes."
		::= { dos 17 } 
	xMasScanAttack OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "TCP sequence number is zero, and the FIN/URG/PSH flags
					are set."
		::= { dos 18 } 
	tcpSYN-FINAttack OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "A TCP packet with the SYN and FIN flags set."
		::= { dos 19 } 
	tcpSYN-RSTAttack OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "A TCP packet with the SYN and RST flags set."
		::= { dos 20 } 
	tcpFragment OBJECT-TYPE
		SYNTAX		INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION "Fragmented TCP packets."
		::= { dos 21 } 
	dosPortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF DosPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of DoS port"
		::= { dos 22 }
	dosPortEntry	OBJECT-TYPE
		SYNTAX		DosPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of DoS port"
		INDEX	{ dosportIndex }
		::= { dosPortTable 1 }  
		DosPortEntry	::= SEQUENCE {
			dosportIndex         	Integer32,
			dosProtection			INTEGER
		}		
		dosportIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of DoS port"
			::= { dosPortEntry 1 }	 
		dosProtection OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1), 
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Configure port protect state"
			::= { dosPortEntry 2 }
-- security.access
	telnetInfo 		OBJECT IDENTIFIER ::= { access 1 }
		telnetService OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1), 
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/disable the tlent service"
			::= { telnetInfo 1 }
		currentTelnetSessionCount OBJECT-TYPE
			SYNTAX      Integer32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The current telnet session counter"
			::= { telnetInfo 2 }		
	httpSetting 	OBJECT IDENTIFIER ::= { access 2 }
		httpService OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1), 
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/disable the http service"
			::= { httpSetting 1 }
		httpSessionTimeout OBJECT-TYPE
			SYNTAX      Integer32 (0..86400)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"the HTTP session timeout"
			::= { httpSetting 2 }	
	httpsSetting	OBJECT IDENTIFIER ::= { access 3 }
		httpsService OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1), 
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/disable the https service"
			::= { httpsSetting 1 }
		httpsSessionTimeout OBJECT-TYPE
			SYNTAX      Integer32 (0..86400)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"the HTTPs session timeout"
			::= { httpsSetting 2 }		
	sshInfo 		OBJECT IDENTIFIER ::= { access 4 }
		sshService OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1), 
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/disable the ssh service"
			::= { sshInfo 1 }
			
-- security.portSecurity
	portSecurityTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF PortSecurityEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of port security"
		::= { portSecurity 1 }
	portSecurityEntry	OBJECT-TYPE
		SYNTAX		PortSecurityEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of port security"
		INDEX	{ portSecurityPortIndex }
		::= { portSecurityTable 1 }  
		PortSecurityEntry	::= SEQUENCE {
			portSecurityPortIndex			Integer32,
			portSecurityEnabled				INTEGER,
			portSecurityFDBLimit			Integer32,
			portSecurityViolationMACNotify	INTEGER
		}		
		portSecurityPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of port security"
			::= { portSecurityEntry 1 }	 
		portSecurityEnabled OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enabled(1), 
			 	disabled(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Enable/Disable port security"
			::= { portSecurityEntry 2 }
 		portSecurityFDBLimit	OBJECT-TYPE
			SYNTAX		Integer32 (0..64)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The number of FDB learning."
			::= { portSecurityEntry 3 }	 
		portSecurityViolationMACNotify OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enabled(1), 
			 	disabled(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Enable/Disable Violation MAC Notification"
			::= { portSecurityEntry 4 }    
--security.ipSecurity 
	ipSecurityStatus OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enabled(1), 
		 	disabled(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable IP security"
		::= { ipSecurity 1 } 
	ipSecurityTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF IPSecurityEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of IP security"
		::= { ipSecurity 2 }
	ipSecurityEntry	OBJECT-TYPE
		SYNTAX		IPSecurityEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of IP security"
		INDEX	{ ipSecurityIndex }
		::= { ipSecurityTable 1 }  
		IPSecurityEntry	::= SEQUENCE {
			ipSecurityIndex		Integer32,
			ipSecurityIPAddr	IpAddress,
			ipSecurityIPMask	IpAddress,
			ipSecurityService	BITS,    
			ipSecurityVlanId	Integer32,
			ipSecurityRowStatus	INTEGER
		}		
		ipSecurityIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..10)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of IP security"
			::= { ipSecurityEntry 1 }	 
		ipSecurityIPAddr OBJECT-TYPE
			SYNTAX      IpAddress
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The IP address of IP security"
			::= { ipSecurityEntry 2 }
		ipSecurityIPMask OBJECT-TYPE
			SYNTAX      IpAddress
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The IP mask of IP security"
			::= { ipSecurityEntry 3 }
		ipSecurityService OBJECT-TYPE
			SYNTAX      BITS {
			 	ping(0),
			 	http(1),
			 	telnet(2),
			 	ssh(3),
			 	snmp(4)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The service of IP security"
			::= { ipSecurityEntry 4 }
		ipSecurityVlanId OBJECT-TYPE
			SYNTAX      Integer32 (1..4094)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The VLAN id of IP security. This value will appear on multiple interface."
			::= { ipSecurityEntry 5 }							
		ipSecurityRowStatus OBJECT-TYPE
			SYNTAX      INTEGER {
				active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)			
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { ipSecurityEntry 99 }	
--security.ieee8021x
	ieee8021xState OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enabled(1), 
		 	disabled(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable IEEE 802.1x "
		::= { ieee8021x 1 } 	
	ieee8021xServerIP OBJECT-TYPE
		SYNTAX	IpAddress
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION "The server IP address of IEEE 802.1x"
		::= { ieee8021x 2 } 			
	ieee8021xServerPort OBJECT-TYPE
		SYNTAX      Integer32 (1..65535)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The server port of IEEE 802.1x"
		::= { ieee8021x 3 } 	
	ieee8021xAccountingPort OBJECT-TYPE
		SYNTAX	Integer32 (1..65535)
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION "The accounting port of IEEE 802.1x"
		::= { ieee8021x 4 }
	ieee8021xSecurityKey OBJECT-TYPE
		SYNTAX	DisplayString
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION "The security key of IEEE 802.1x"
		::= { ieee8021x 5 }	
	ieee8021xReauthPeriod OBJECT-TYPE
		SYNTAX	Integer32 (1..65535)
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION "The reauth period of IEEE 802.1x"
		::= { ieee8021x 6 }	
	ieee8021xPortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF IEEE8021xPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of IEEE 802.1x"
		::= { ieee8021x 7 }
	ieee8021xPortEntry	OBJECT-TYPE
		SYNTAX		IEEE8021xPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of IEEE 802.1x"
		INDEX	{ ieee8021xPortIndex }
		::= { ieee8021xPortTable 1 }  
		IEEE8021xPortEntry	::= SEQUENCE {
			ieee8021xPortIndex		Integer32,
			ieee8021xPortState		INTEGER
		}		
		ieee8021xPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of IEEE 802.1x"
			::= { ieee8021xPortEntry 1 }	 
		ieee8021xPortState OBJECT-TYPE
			SYNTAX      INTEGER {
				authorize(1),
				disabled(2)	 	
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The port state of IEEE 802.1x"
			::= { ieee8021xPortEntry 2 }  
	ieee8021xAuthBased OBJECT-TYPE
		SYNTAX      INTEGER {
		 	port(1), 
		 	mac(2),
		 	mac-auth-bypass(3)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The authentication based of IEEE 802.1x "
		::= { ieee8021x 8}			

--security.securityLogin
	securityLoginState OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enabled(1), 
		 	disabled(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable security login."
		::= { securityLogin 1 } 	

	radiusServer		OBJECT IDENTIFIER ::= { securityLogin 2 } 
		radiusServerIP	OBJECT-TYPE
			SYNTAX	IpAddress
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Radius server IP."
			::= { radiusServer 1 }	

		radiusServerPort	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Radius server port."
			::= { radiusServer 2 }	

		radiusServerSecurityKey OBJECT-TYPE
			SYNTAX	DisplayString
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION "The security key of radius server."
			::= { radiusServer 3 }	

	tacacsServer		OBJECT IDENTIFIER ::= { securityLogin 3 } 
		tacacsServerIP	OBJECT-TYPE
			SYNTAX	IpAddress
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "TACACS server IP."
			::= { tacacsServer 1 }	

		tacacsServerPort	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "TACACS server port."
			::= { tacacsServer 2 }	

		tacacsServerSecurityKey OBJECT-TYPE
			SYNTAX	DisplayString
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION "The security key of TACACS server."
			::= { tacacsServer 3 }	

	securityLoginType OBJECT-TYPE
		SYNTAX      INTEGER {
		 	none(0),
		 	radius(1), 
		 	tacacs(2),
		 	radiusAndtacacs(3), 
		 	radiusAndtacacsAndweb(4)
		}

		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable security login."
		::= { securityLogin 4 } 	
		
	securityLoginHttpState OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enabled(1), 
		 	disabled(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable HTTP type of security login."
		::= { securityLogin 5 } 	
		
	securityLoginTelnetState OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enabled(1), 
		 	disabled(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable telnet type of security login."
		::= { securityLogin 6 } 					

	securityLoginSSHState OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enabled(1), 
		 	disabled(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable SSH type of security login."
		::= { securityLogin 7 }

--security.acl		OBJECT IDENTIFIER ::= { security 9 }
	macAclTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF MacAclEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of mac acl"
		::= { acl 1 }
	macAclEntry	OBJECT-TYPE
		SYNTAX		MacAclEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of mac acl"
		INDEX	{ macAclIndex }
		::= { macAclTable 1 }  
		MacAclEntry	::= SEQUENCE {
			macAclIndex   Integer32,
			destinationMacAddress	DisplayString,
			destinationMacMask    DisplayString,
			sourceMacAddress      DisplayString,
			sourceMacMask         DisplayString,
			macAclEtherType   Integer32,
			macAclVlanID      Integer32,
			macAclPortList    BITS,
			macAclAction      INTEGER,
			macAclActiveStatus  INTEGER,
			macAclRowStatus		INTEGER
		}		

		macAclIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..250)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The index of mac ACL entry"
			::= { macAclEntry 1 }	 

		destinationMacAddress	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The destination MAC address of mac ACL entry."
			::= { macAclEntry 2 }	 

		destinationMacMask	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The destination MAC mask of mac ACL entry."
			::= { macAclEntry 3 }	 
			
		sourceMacAddress	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The source MAC address of mac ACL entry."
			::= { macAclEntry 4 }	 
			
		sourceMacMask	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The source MAC mask of mac ACL entry."
			::= { macAclEntry 5 }	 						

		macAclEtherType	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The ether type of mac ACL entry"
			::= { macAclEntry 6 }	 

		macAclVlanID	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The vlan id of mac ACL entry"
			::= { macAclEntry 7 }	

		macAclPortList	OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The port list of mac ACL entry."
			::= { macAclEntry 8 }

		macAclAction OBJECT-TYPE
			SYNTAX      INTEGER {
			 	permit(1), 
			 	drop(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The action of mac ACL entry."
			::= { macAclEntry 9 } 

		macAclActiveStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	active(1), 
			 	inactive(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The active status of mac ACL entry."
			::= { macAclEntry 10 } 

		macAclRowStatus OBJECT-TYPE
			SYNTAX		INTEGER {
			 	valid(1),
			 	createRequest(2),
			 	underCreation(3),
			 	invalid(4)
			}		
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createRequest(2) to create new entry.
						After setup the value, user use valid(1) to set into switch.
						User can use destory to invalid(4) an entry."
			::= { macAclEntry 99 }

	ipAclTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF IpAclEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of ip acl"
		::= { acl 2 }
	ipAclEntry	OBJECT-TYPE
		SYNTAX		IpAclEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of ip acl"
		INDEX	{ ipAclIndex }
		::= { ipAclTable 1 }  
		IpAclEntry	::= SEQUENCE {
			ipAclIndex   Integer32,
			destinationIpAddress	IpAddress,
			destinationIpMask     IpAddress,
			sourceIpAddress       IpAddress,
			sourceIpMask          IpAddress,
			ipProtocol         INTEGER,
			l4DestinationPort  Integer32,
			l4SourcePort		   Integer32,
			ipAclPortList      BITS,
			ipAclAction        INTEGER,
			ipAclActiveStatus  INTEGER,
			ipAclRowStatus		 INTEGER
		}

		ipAclIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..250)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The index of ip ACL entry"
			::= { ipAclEntry 1 }	 

		destinationIpAddress	OBJECT-TYPE
			SYNTAX		IpAddress
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The destination ip address of ip ACL entry."
			::= { ipAclEntry 2 }	 

		destinationIpMask	OBJECT-TYPE
			SYNTAX		IpAddress
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The destination ip mask of ip ACL entry."
			::= { ipAclEntry 3 }	 
			
		sourceIpAddress	OBJECT-TYPE
			SYNTAX		IpAddress
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The source ip address of ip ACL entry."
			::= { ipAclEntry 4 }	 
			
		sourceIpMask	OBJECT-TYPE
			SYNTAX		IpAddress
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The source ip mask of ip ACL entry."
			::= { ipAclEntry 5 }	 						

		ipProtocol OBJECT-TYPE
			SYNTAX      INTEGER {
			 	none(1), 
			 	icmp(2),
			 	tcp(3),
			 	udp(4)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ip protocol of ip ACL entry."
			::= { ipAclEntry 6 } 

		l4DestinationPort	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The L4 destination port of ip ACL entry"
			::= { ipAclEntry 7 }	 

		l4SourcePort	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The L4 source port of ip ACL entry"
			::= { ipAclEntry 8 }	

		ipAclPortList	OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The port list of ip ACL entry."
			::= { ipAclEntry 9 }

		ipAclAction OBJECT-TYPE
			SYNTAX      INTEGER {
			 	permit(1), 
			 	drop(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The action of ip ACL entry."
			::= { ipAclEntry 10 } 

		ipAclActiveStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	active(1), 
			 	inactive(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The active status of ip ACL entry."
			::= { ipAclEntry 11 } 

		ipAclRowStatus OBJECT-TYPE
			SYNTAX		INTEGER {
			 	valid(1),
			 	createRequest(2),
			 	underCreation(3),
			 	invalid(4)
			}		
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createRequest(2) to create new entry.
						After setup the value, user use valid(1) to set into switch.
						User can use destory to invalid(4) an entry."
			::= { ipAclEntry 99 }


--security.ipSourceGuard		OBJECT IDENTIFIER ::= { security 10 }	

	ipSourceGuardEnablePorts	OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The enable port list for ip source guard."
			::= { ipSourceGuard 1 }

	ipSourceGuardTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF IpSourceGuardEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of ip source guard"
		::= { ipSourceGuard 2 }
	ipSourceGuardEntry	OBJECT-TYPE
		SYNTAX		IpSourceGuardEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of ip source guard"
		INDEX	{ ipSourceGuardIndex }
		::= { ipSourceGuardTable 1 }  
		IpSourceGuardEntry	::= SEQUENCE {
			ipSourceGuardIndex       Integer32,
			ipSourceGuardSourceIp	   IpAddress,
			ipSourceGuardSourceMac   DisplayString,
			ipSourceGuardPort        Integer32,
			ipSourceGuardRowStatus	 INTEGER
		}

		ipSourceGuardIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..64)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of ip source guard entry"
			::= { ipSourceGuardEntry 1 }	 

		ipSourceGuardSourceIp	OBJECT-TYPE
			SYNTAX		IpAddress
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The destination ip address of ip source guard entry."
			::= { ipSourceGuardEntry 2 }	

		ipSourceGuardSourceMac	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The destination MAC address of ip source guard entry."
			::= { ipSourceGuardEntry 3 }	 

		ipSourceGuardPort	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The port of ip source guard entry"
			::= { ipSourceGuardEntry 4 }

		ipSourceGuardRowStatus OBJECT-TYPE
			SYNTAX		INTEGER {
			 	valid(1),
			 	createRequest(2),
			 	underCreation(3),
			 	invalid(4)
			}		
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createRequest(2) to create new entry.
						After setup the value, user use valid(1) to set into switch.
						User can use destory to invalid(4) an entry."
			::= { ipSourceGuardEntry 5 }

--security.dhcpSnooping		OBJECT IDENTIFIER ::= { security 11 }	

	dhcpSnoopingState OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enabled(1), 
		 	disabled(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable DHCP snooping."
		::= { dhcpSnooping 1 }
		 
	dhcpSnoopingPorts	OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The enable port list for dhcp snooping."
			::= { dhcpSnooping 2 }

	dhcpSnoopingBindingPorts	OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The enable blinding port list for dhcp snooping."
			::= { dhcpSnooping 3 }

	dhcpSnoopingTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF DhcpSnoopingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of dhcp snooping"
		::= { dhcpSnooping 4 }
	dhcpSnoopingEntry	OBJECT-TYPE
		SYNTAX		DhcpSnoopingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of dhcp snooping"
		INDEX	{ dhcpSnoopingIndex }
		::= { dhcpSnoopingTable 1 }  
		DhcpSnoopingEntry	::= SEQUENCE {
			dhcpSnoopingIndex       Integer32,
			dhcpSnoopingMac					DisplayString,
			dhcpSnoopingIp	        IpAddress,
			dhcpSnoopingLeaseTime   INTEGER,
			dhcpSnoopingVlanId			Integer32,
			dhcpSnoopingPort        Integer32
		}

		dhcpSnoopingIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..64)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of dhcp snooping entry"
			::= { dhcpSnoopingEntry 1 }	 

		dhcpSnoopingMac	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The destination MAC address of dhcp snooping entry."
			::= { dhcpSnoopingEntry 2 }	

		dhcpSnoopingIp	OBJECT-TYPE
			SYNTAX		IpAddress
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The destination ip address of dhcp snooping entry."
			::= { dhcpSnoopingEntry 3 }	 

		dhcpSnoopingLeaseTime	OBJECT-TYPE
			SYNTAX      INTEGER	(60..864000)   
			UNITS 		"second"
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The lease time of dhcp snooping entry"
			::= { dhcpSnoopingEntry 4 }

		dhcpSnoopingVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)		
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The VLAN ID of dhcp snooping entry"
			::= { dhcpSnoopingEntry 5 }		

		dhcpSnoopingPort	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port of dhcp snooping entry"
			::= { dhcpSnoopingEntry 6 }

--security.arpSpoofing	OBJECT IDENTIFIER ::= { security 12 }	

	arpSpoofingTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF ArpSpoofingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of arp spoofing"
		::= { arpSpoofing 1 }
	arpSpoofingEntry	OBJECT-TYPE
		SYNTAX		ArpSpoofingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of arp spoofing"
		INDEX	{ arpSpoofingIndex }
		::= { arpSpoofingTable 1 }  
		ArpSpoofingEntry	::= SEQUENCE {
			arpSpoofingIndex       Integer32,
			arpSpoofingSourceMac	 DisplayString,
			arpSpoofingSourceIp	   IpAddress,
			arpSpoofingRowStatus   INTEGER
		}

		arpSpoofingIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..64)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of arp spoofing entry"
			::= { arpSpoofingEntry 1 }	 

		arpSpoofingSourceMac	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The source MAC address of arp spoofing entry."
			::= { arpSpoofingEntry 2 }	

		arpSpoofingSourceIp	OBJECT-TYPE
			SYNTAX		IpAddress
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The source ip address of arp spoofing entry."
			::= { arpSpoofingEntry 3 }	 

		arpSpoofingRowStatus OBJECT-TYPE
			SYNTAX		INTEGER {
			 	valid(1),
			 	createRequest(2),
			 	underCreation(3),
			 	invalid(4)
			}		
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createRequest(2) to create new entry.
						After setup the value, user use valid(1) to set into switch.
						User can use destory to invalid(4) an entry."
			::= { arpSpoofingEntry 4 }

				 					
-- qos
	general 		OBJECT IDENTIFIER ::= { qos 1 }
	qosBasicMode	OBJECT IDENTIFIER ::= { qos 2 }
	rateLimit		OBJECT IDENTIFIER ::= { qos 3 }
-- qos.general
 	qosMode OBJECT-TYPE
		SYNTAX      INTEGER {
		 	basic(1), 
		 	disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The QoS operaion mode"
		::= { general 1 }  
	qosPortSettingTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF QosPortSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of QoS port setting"
		::= { general 2 }
	qosPortSettingEntry	OBJECT-TYPE
		SYNTAX		QosPortSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of QoS port setting"
		INDEX	{ qosPortIndex }
		::= { qosPortSettingTable 1 }  
		QosPortSettingEntry	::= SEQUENCE {
			qosPortIndex         		Integer32,
			qosPortCos					Integer32, 
			qosPortRemarkCoS			INTEGER,
			qosPortRemarkDSCP			INTEGER,
			qosPortRemarkIPPrecedence	INTEGER
		}		
		qosPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of QoS port setting"
			::= { qosPortSettingEntry 1 }	 
		qosPortCos OBJECT-TYPE
			SYNTAX      Integer32 (0..7)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The default CoS/802.1p priority value"
			::= { qosPortSettingEntry 2 }
		qosPortRemarkCoS	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "enable/disable CoS remark"
			::= { qosPortSettingEntry 3 }	 
		qosPortRemarkDSCP OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1), 
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/disable DSCP remark"
			::= { qosPortSettingEntry 4 }
		qosPortRemarkIPPrecedence OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1), 
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Enable/Disable IP Precedence remark"
			::= { qosPortSettingEntry 5 }  
	queueSettingTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF QueueSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of queue setting"
		::= { general 3 }
	queueSettingEntry	OBJECT-TYPE
		SYNTAX		QueueSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"the entry of queue setting"
		INDEX	{ queueIndex }
		::= { queueSettingTable 1 }  
		QueueSettingEntry	::= SEQUENCE {
			queueIndex         			Integer32,
			queueMethod					INTEGER, 
			queueWeight					Integer32,
			queuePercentOfWRRBandwidth	DisplayString
		}		
		queueIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..8)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of queue setting"
			::= { queueSettingEntry 1 }	 
		queueMethod OBJECT-TYPE
			SYNTAX      INTEGER {
				strictPriority(1),
				wrr(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"queue to strict priority type or Weight round robin type"
			::= { queueSettingEntry 2 }
		queueWeight	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "If the queue type is WRR, set the queue weight for the
						queue."
			::= { queueSettingEntry 3 }	 
		queuePercentOfWRRBandwidth OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The percentage of the WRR bandwidth"
			::= { queueSettingEntry 4 }
	costoQueueMapTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF CostoQueueMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of CoS to queue"
		::= { general 4 }
	costoQueueMapEntry	OBJECT-TYPE
		SYNTAX		CostoQueueMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of CoS to queue"
		INDEX	{ cosIndex }
		::= { costoQueueMapTable 1 }  
		CostoQueueMapEntry	::= SEQUENCE {
			cosIndex         		Integer32,
			cosQueue				Integer32
		}		
		cosIndex	OBJECT-TYPE
			SYNTAX		Integer32 (0..8)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of CoS to queue"
			::= { costoQueueMapEntry 1 }	 
		cosQueue OBJECT-TYPE
			SYNTAX      Integer32 (1..8)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The queue of CoS to queue"
			::= { costoQueueMapEntry 2 }
	queuetoCosMapTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF QueueToCosMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of queue to CoS"
		::= { general 5 }
	queuetoCosMapEntry	OBJECT-TYPE
		SYNTAX		QueueToCosMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of queue to CoS"
		INDEX	{ queuetoCosIndex }
		::= { queuetoCosMapTable 1 }  
		QueueToCosMapEntry	::= SEQUENCE {
			queuetoCosIndex   	Integer32,
			queueCos			Integer32
		}		
		queuetoCosIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..8)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The queue index of queue to CoS"
			::= { queuetoCosMapEntry 1 }	 
		queueCos OBJECT-TYPE
			SYNTAX      Integer32 (0..7)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The cos of queue to CoS"
			::= { queuetoCosMapEntry 2 }
	dscptoQueueMapTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF DscptoQueueMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of DSCP to queue"
		::= { general 6 }
	dscptoQueueMapEntry	OBJECT-TYPE
		SYNTAX		DscptoQueueMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of DSCP to queue"
		INDEX	{ dscpIndex }
		::= { dscptoQueueMapTable 1 }  
		DscptoQueueMapEntry	::= SEQUENCE {
			dscpIndex         		Integer32,
			dscpQueue				Integer32
		}		
		dscpIndex	OBJECT-TYPE
			SYNTAX		Integer32 (0..64)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The DSCP index of DSCP to queue"
			::= { dscptoQueueMapEntry 1 }	 
		dscpQueue OBJECT-TYPE
			SYNTAX      Integer32 (1..8)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The queue of DSCP to queue"
			::= { dscptoQueueMapEntry 2 }
	queuetoDSCPMapTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF QueuetoDSCPMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of queue to DSCP"
		::= { general 7 }
	queuetoDSCPMapEntry	OBJECT-TYPE
		SYNTAX		QueuetoDSCPMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of queue to DSCP"
		INDEX	{ queuetoDSCPIndex }
		::= { queuetoDSCPMapTable 1 }  
		QueuetoDSCPMapEntry	::= SEQUENCE {
			queuetoDSCPIndex      		Integer32,
			queuDscp					Integer32
		}		
		queuetoDSCPIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..8)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The queue index of queue to DSCP"
			::= { queuetoDSCPMapEntry 1 }	 
		queuDscp OBJECT-TYPE
			SYNTAX      Integer32 (0..63)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The DSCP of queue to DSCP"
			::= { queuetoDSCPMapEntry 2 }
	ipPrecedencetoQueueMapTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF IpPrecedencetoQueueMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of IP precedence to queue"
		::= { general 8 }
	ipPrecedencetoQueueMapEntry	OBJECT-TYPE
		SYNTAX		IpPrecedencetoQueueMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of IP precedence to queue"
		INDEX	{ ipPrecedenceIndex }
		::= { ipPrecedencetoQueueMapTable 1 }  
		IpPrecedencetoQueueMapEntry	::= SEQUENCE {
			ipPrecedenceIndex         		Integer32,
			ipPrecedenceQueue				Integer32
		}		
		ipPrecedenceIndex	OBJECT-TYPE
			SYNTAX		Integer32  (0..8)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of IP precedence to queue"
			::= { ipPrecedencetoQueueMapEntry 1 }	 
		ipPrecedenceQueue OBJECT-TYPE
			SYNTAX      Integer32 (1..8)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The queue of IP precedence to queue"
			::= { ipPrecedencetoQueueMapEntry 2 }
	queueToipPrecedenceMapTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF QueueToipPrecedenceMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of queue to IP precedence"
		::= { general 9 }
	queueToipPrecedenceMapEntry	OBJECT-TYPE
		SYNTAX		QueueToipPrecedenceMapEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of queue to IP precedence"
		INDEX	{ queueToipPrecedenceIndex }
		::= { queueToipPrecedenceMapTable 1 }  
		QueueToipPrecedenceMapEntry	::= SEQUENCE {
			queueToipPrecedenceIndex  	Integer32,
			ipPrecedence				Integer32
		}		
		queueToipPrecedenceIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..8)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of queue to IP precedence"
			::= { queueToipPrecedenceMapEntry 1 }	 
		ipPrecedence OBJECT-TYPE
			SYNTAX      Integer32 (0..7)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The IP precedence of queue to IP precedence"
			::= { queueToipPrecedenceMapEntry 2 }																		
-- qos.qosBasicMode
 	trustMode OBJECT-TYPE
		SYNTAX      INTEGER {
		 	cos-8021p(1), 
		 	dscp(2), 
		 	cos8021p-dscp(3), 
		 	ip-precendence(4), 
		 	none(5)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"the QoS operation mode.
					CoS/802.1p: Traffic is mapped to queues based on
					the CoS field in the VLAN tag, or based on the per-port
					default CoS value if there is no VLAN tag on the
					incoming packet.
					DSCP: All IP traffic is mapped to queues based on the
					DSCP field in the IP header. If traffic is not IP traffic, it
					is mapped to the lowest priority queue.
					CoS/802.1p-DSCP: All IP traffic is mapped to
					queues based on the DSCP field in the IP header. If
					traffic is not IP but has VLAN tag, mapped to queues
					based on the CoS value in the VLAN tag.
					IP Precedence: All IP traffic is mapped to queues
					based on the IP Precedence field in the IP header. If
					traffic is not IP traffic, it is mapped to the lowest
					priority queue.
					None: All traffic is mapped to the lowest priority
					queue."
		::= { qosBasicMode 1 } 
	qosBasicPortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF QosPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of QoS port"
		::= { qosBasicMode 2 }
	qosBasicPortEntry	OBJECT-TYPE
		SYNTAX		QosPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of QoS port"
		INDEX	{ qosBasicPortIndex }
		::= { qosBasicPortTable 1 }  
		QosPortEntry	::= SEQUENCE {
			qosBasicPortIndex      	Integer32,
			qosBasicPortTrust		INTEGER
		}		
		qosBasicPortIndex	OBJECT-TYPE
			SYNTAX		Integer32  (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of QoS port"
			::= { qosBasicPortEntry 1 }	 
		qosBasicPortTrust OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"the port trust state
						Enabled: Traffic from this port will follow the global
						trust type.
						Disabled: Traffic will always go to the lowest priority
						queue."
			::= { qosBasicPortEntry 2 }		
-- qos.rateLimit 
	ingressBandwidthControl			OBJECT IDENTIFIER ::= { rateLimit 1 }
	ingressBandwidthTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF IngressBandwidthEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of ingress bandwidth"
		::= { ingressBandwidthControl 1 }
	ingressBandwidthEntry	OBJECT-TYPE
		SYNTAX		IngressBandwidthEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of ingress bandwidth"
		INDEX	{ ingressBandwidthPortIndex }
		::= { ingressBandwidthTable 1 }  
		IngressBandwidthEntry	::= SEQUENCE {
			ingressBandwidthPortIndex      	Integer32,
			ingressBandwidthState			INTEGER,
			ingressBandwidthRate			Integer32
		}		
		ingressBandwidthPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of ingress bandwidth"
			::= { ingressBandwidthEntry 1 }	 
		ingressBandwidthState OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/disable ingress bandwidth control"
			::= { ingressBandwidthEntry 2 }	  
		ingressBandwidthRate OBJECT-TYPE
			SYNTAX      Integer32 (16..1000000)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"rate value, unit:16Kbps"
			::= { ingressBandwidthEntry 3 }	
	egressBandwidthControl			OBJECT IDENTIFIER ::= { rateLimit 2 }
	egressBandwidthTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF EgressBandwidthEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of egress bandwidth"
		::= { egressBandwidthControl 1 }
	egressBandwidthEntry	OBJECT-TYPE
		SYNTAX		EgressBandwidthEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of egress bandwidth"
		INDEX	{ egressBandwidthPortIndex }
		::= { egressBandwidthTable 1 }  
		EgressBandwidthEntry	::= SEQUENCE {
			egressBandwidthPortIndex      	Integer32,
			egressBandwidthState			INTEGER,
			egressBandwidthRate			Integer32
		}		
		egressBandwidthPortIndex	OBJECT-TYPE
			SYNTAX		Integer32  (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of egress bandwidth"
			::= { egressBandwidthEntry 1 }	 
		egressBandwidthState OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/disable egress bandwidth control"
			::= { egressBandwidthEntry 2 }	  
		egressBandwidthRate OBJECT-TYPE
			SYNTAX      Integer32 (0..1000000)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"rate value, unit:16Kbps"
			::= { egressBandwidthEntry 3 }
	egressQueueBandwidthControl			OBJECT IDENTIFIER ::= { rateLimit 3 }
	egressqueueBandwidthTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF EgressqueueBandwidthEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of egress queue bandwidth"
		::= { egressQueueBandwidthControl 1 }
	egressqueueBandwidthEntry	OBJECT-TYPE
		SYNTAX		EgressqueueBandwidthEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of egress queue bandwidth"
		INDEX	{ egressqueueBandwidthPortIndex }
		::= { egressqueueBandwidthTable 1 }  
		EgressqueueBandwidthEntry	::= SEQUENCE {
			egressqueueBandwidthPortIndex      	Integer32,
			egressqueueBandwidthQueueIndex		Integer32,
			egressqueueBandwidthState			INTEGER,
			egressqueueBandwidthCir				Integer32
		}		
		egressqueueBandwidthPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of egress queue bandwidth"
			::= { egressqueueBandwidthEntry 1 }	  
		egressqueueBandwidthQueueIndex OBJECT-TYPE
			SYNTAX      Integer32 (1..8)
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The queue index of egress queue bandwidth"
			::= { egressqueueBandwidthEntry 2 }	
		egressqueueBandwidthState OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"enable/disable egress bandwidth contro"
			::= { egressqueueBandwidthEntry 3 }	  
		egressqueueBandwidthCir OBJECT-TYPE			
			SYNTAX      Integer32 (16..1000000)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"rate value, unit:16Kbps"
			::= { egressqueueBandwidthEntry 4 }												
-- management
	lldp			OBJECT IDENTIFIER ::= { management 1 }
	snmp			OBJECT IDENTIFIER ::= { management 2 }
	poe				OBJECT IDENTIFIER ::= { management 3 }
	tcpModbus		OBJECT IDENTIFIER ::= { management 4 }
	dhcpServer		OBJECT IDENTIFIER ::= { management 5 }
	smtpClient		OBJECT IDENTIFIER ::= { management 6 } 
	rmon			OBJECT IDENTIFIER ::= { management 7 } 
	ntp			OBJECT IDENTIFIER ::= { management 8 }
-- management.lldp    
 	lldpEnabled OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable LLDP protocol on this switch"
		::= { lldp 1 } 
 	lldpPduDisableAction OBJECT-TYPE
		SYNTAX      INTEGER {
		 	filtering(1), 
		 	bridging(2), 
		 	flooding(3)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Select LLDP PDU handling action to be filtered, bridging or
					flooded when LLDP is globally disabled."
		::= { lldp 2 } 
  	lldpTransmissionInterval OBJECT-TYPE
		SYNTAX      Integer32 (5..32767)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The interval at which frames are transmitted. LLDP transmission 
					interval multiplies holdtme multiplier should be smaller than 65535.
					LLDP transmission delay should not be larger than LLDP transmission 
					interval * 0.25"
		::= { lldp 3 } 
 	lldpHoldtimeMultiplier OBJECT-TYPE
		SYNTAX      Integer32 (2..10)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The multiplier on the transmit interval to assign to TTL. LLDP 
					transmission interval multiplies holdtme multiplier should be 
					smaller than 65535."
		::= { lldp 4 } 
 	lldpReinitializationDelay OBJECT-TYPE
		SYNTAX      Integer32 (1..10)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The delay before a re-initialization"
		::= { lldp 5 } 
 	lldpTransmitDelay OBJECT-TYPE
		SYNTAX      Integer32 (1..8191)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The delay after an LLDP frame is sent. LLDP transmission delay 
					should not be larger than LLDP transmission interval * 0.25"
		::= { lldp 6 } 
	lldpPortConfTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF LldpPortConfEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of LLDP port configuration"
		::= { lldp 7 }
	lldpPortConfEntry	OBJECT-TYPE
		SYNTAX		LldpPortConfEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of LLDP port configuration"
		INDEX	{ lldpPortIndex }
		::= { lldpPortConfTable 1 }  
		LldpPortConfEntry	::= SEQUENCE {
			lldpPortIndex      		Integer32,
			lldpPortState			INTEGER,
			lldpPortOptionalTLVs	BITS,
			lldpPortVlans			DisplayString
		}		
		lldpPortIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The port index of LLDP port configuration"
			::= { lldpPortConfEntry 1 }	  
		lldpPortState OBJECT-TYPE
			SYNTAX      INTEGER {
			 	disable(1), 
			 	rx-only(2), 
			 	tx-only(3), 
			 	rx-tx(4)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"the transmission state of LLDP port interface.
						Disable: Disable the transmission of LLDP PDUs.
						RX Only: Receive LLDP PDUs only.
						TX Only: Transmit LLDP PDUs only.
						TX And RX: Transmit and receive LLDP PDUs both."
			::= { lldpPortConfEntry 2 }	
		lldpPortOptionalTLVs OBJECT-TYPE
			SYNTAX      BITS {
			 	systemName(0), 
			 	portDescription(1), 
			 	systemDescription(2), 
			 	systemCapability(3), 
			 	ieee8023MAC-PHY(4), 
			 	ieee8023LinkAggeration(5), 
			 	ieee8023MaxFrameSize(6), 
			 	managementAddress(7), 
			 	ieee8021PVID(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The LLDP optional TLVs to be carried"
			::= { lldpPortConfEntry 3 }	
		lldpPortVlans OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The VLAN name ID to be carried. User can inpu vlan such as:
						1-2, 100."
			::= { lldpPortConfEntry 4 } 
	localDevice		OBJECT IDENTIFIER ::= { lldp 8 } 
		lldpLocalDeviceChassisidsubtype	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "LLDP local device chassis ID subtype"
			::= { localDevice 1 }		
		lldpLocalDeviceChassisID OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "LLDP local device chassis ID"
			::= { localDevice 2 }		
		lldpLocalDeviceSystemName OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "LLDP local device system name"
			::= { localDevice 3 }		
		lldpLocalDeviceSystemDescription OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "LLDP local device system description"
			::= { localDevice 4 }		
		lldpLocalDeviceCapabilitiesSupported OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "LLDP local device capabilities supported"
			::= { localDevice 5 }		
		lldpLocalDeviceCapabilitiesEnabled OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "LLDP local device capabilities enabled"
			::= { localDevice 6 }		
		lldpLocalDevicePortIDsubtype OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "LLDP local device port ID subtype"
			::= { localDevice 7 }
		lldpLocalPortStatusTable	OBJECT-TYPE
			SYNTAX SEQUENCE OF LldpLocalPortStatusEntry
			MAX-ACCESS	not-accessible
			STATUS		current
			DESCRIPTION	"The table of LLFP local port status"
			::= { localDevice 8 }
		lldpLocalPortStatusEntry	OBJECT-TYPE
			SYNTAX		LldpLocalPortStatusEntry
			MAX-ACCESS	not-accessible
			STATUS		current
			DESCRIPTION	"The entry of LLFP local port status"
			INDEX	{ lldpLocalPortIndex }
			::= { lldpLocalPortStatusTable 1 }  
			LldpLocalPortStatusEntry	::= SEQUENCE {
				lldpLocalPortIndex      						Integer32,
				lldpLocalPortStatus                      		INTEGER,
				lldpLocalPortChassisIDsubtype                  	DisplayString,
				lldpLocalPortChassisID                         	DisplayString,
				lldpLocalPortSystemname                      	DisplayString,
				lldpLocalPortSystemdescription               	DisplayString,
				lldpLocalPortSupportedsystemcapabilities     	DisplayString,
				lldpLocalPortEnablesystemcapabilities        	DisplayString,
				lldpLocalPortIDsubtype                   		DisplayString,
				lldpLocalPortID                          		DisplayString,
				lldpLocalPortDescription                 		DisplayString,
				lldpLocalPortManagementAddress               	DisplayString,
				lldpLocalPortAuto-negosupported              	DisplayString,
				lldpLocalPortAuto-negoenabled                	DisplayString,
				lldpLocalPortAuto-negoAdvertisedCapabilities 	DisplayString,
				lldpLocalPortOperationMAUtype                	DisplayString,
				lldpLocalPortIeee8023MaxFrameSize            	DisplayString,
				lldpLocalPortAggregationCapability           	DisplayString,
				lldpLocalPortAggregationStatus               	DisplayString,
				lldpLocalPortAggregationPortID               	DisplayString,
				lldpLocalPortPvid                            	DisplayString,
				lldpLocalPortVlanName                        	DisplayString
			}		
			lldpLocalPortIndex	OBJECT-TYPE
				SYNTAX		Integer32 (1..65535)
				MAX-ACCESS	read-only
				STATUS		current
				DESCRIPTION "The port index of LLDP local port status"
				::= { lldpLocalPortStatusEntry 1 }	  
			lldpLocalPortStatus OBJECT-TYPE
				SYNTAX      INTEGER {
				 	disable(1), 
				 	rx-only(2), 
				 	tx-only(3), 
				 	rx-tx(4)
				}
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port status"
				::= { lldpLocalPortStatusEntry 2 }	
			lldpLocalPortChassisIDsubtype OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port chassis ID subtype"
				::= { lldpLocalPortStatusEntry 3 }
			lldpLocalPortChassisID OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port chassis ID"
				::= { lldpLocalPortStatusEntry 4 }
			lldpLocalPortSystemname OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port system name"
				::= { lldpLocalPortStatusEntry 5 }
			lldpLocalPortSystemdescription OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port system description"
				::= { lldpLocalPortStatusEntry 6 }
			lldpLocalPortSupportedsystemcapabilities OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port supported system capabilities"
				::= { lldpLocalPortStatusEntry 7 }
			lldpLocalPortEnablesystemcapabilities OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port enable system capabilities"
				::= { lldpLocalPortStatusEntry 8 }
			lldpLocalPortIDsubtype OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port ID subtype"
				::= { lldpLocalPortStatusEntry 9 }
			lldpLocalPortID OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port ID"
				::= { lldpLocalPortStatusEntry 10 }
			lldpLocalPortDescription OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port description"
				::= { lldpLocalPortStatusEntry 11 }
			lldpLocalPortManagementAddress OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port management address"
				::= { lldpLocalPortStatusEntry 12 }
			lldpLocalPortAuto-negosupported OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port auto-nego supported"
				::= { lldpLocalPortStatusEntry 13 }
			lldpLocalPortAuto-negoenabled OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port auto-nego enabled"
				::= { lldpLocalPortStatusEntry 14 }
			lldpLocalPortAuto-negoAdvertisedCapabilities OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port auto-nego advertised capabilities"
				::= { lldpLocalPortStatusEntry 15 }
			lldpLocalPortOperationMAUtype OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port operation MAU type"
				::= { lldpLocalPortStatusEntry 16 }
			lldpLocalPortIeee8023MaxFrameSize OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port IEEE 802.3 max frame size"
				::= { lldpLocalPortStatusEntry 17 }
			lldpLocalPortAggregationCapability OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port aggregation capabilities"
				::= { lldpLocalPortStatusEntry 18 }
			lldpLocalPortAggregationStatus OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port aggregation status"
				::= { lldpLocalPortStatusEntry 19 }
			lldpLocalPortAggregationPortID OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port aggregation port ID"
				::= { lldpLocalPortStatusEntry 20 }
			lldpLocalPortPvid OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port PVID"
				::= { lldpLocalPortStatusEntry 21 }
			lldpLocalPortVlanName OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP local port vlan name"
				::= { lldpLocalPortStatusEntry 22 }
    remoteDevice	OBJECT IDENTIFIER ::= { lldp 9 }
    	lldpremoteDeviceTable	OBJECT-TYPE
			SYNTAX SEQUENCE OF LldpremoteDeviceEntry
			MAX-ACCESS	not-accessible
			STATUS		current
			DESCRIPTION	"The table of LLDP remote device"
			::= { remoteDevice 1 }
		lldpremoteDeviceEntry	OBJECT-TYPE
			SYNTAX		LldpremoteDeviceEntry
			MAX-ACCESS	not-accessible
			STATUS		current
			DESCRIPTION	"The entry of LLDP remote device"
			INDEX	{ lldpremoteDeviceIndex }
			::= { lldpremoteDeviceTable 1 }  
			LldpremoteDeviceEntry	::= SEQUENCE {
				lldpremoteDeviceIndex 							Integer32,
				lldpremoteDeviceLocalPort       				DisplayString,
				lldpremoteDeviceChassisIDsubtype  				DisplayString,
				lldpremoteDeviceChassisID         				DisplayString,
				lldpremoteDevicePortIDsubtype   				DisplayString,
				lldpremoteDevicePortID          				DisplayString,
				lldpremoteDeviceSystemName      				DisplayString,
				lldpremoteDeviceTimetolive      				DisplayString,
				lldpremoteDeviceEntryIndex      				DisplayString,
				lldpremoteDevicePortDescription 				DisplayString,
				lldpremoteDeviceSystemdescription  				DisplayString,
				lldpremoteDeviceSupportedsystemcapabilities  	DisplayString,
				lldpremoteDeviceEnablesystemcapabilities     	DisplayString,
				lldpremoteDeviceManagementAddress        		DisplayString,   
				lldpremoteDeviceAuto-negosupported       		DisplayString,
				lldpremoteDeviceAuto-negoenabled         		DisplayString,
				lldpremoteDeviceAuto-negoAdvertisedCapabilities DisplayString,
				lldpremoteDeviceOperationMAUtype                DisplayString,			
				lldpremoteDeviceMdipowersupportportclass        DisplayString,
				lldpremoteDevicePsemdipowersupport              DisplayString,
				lldpremoteDevicePsemdipowerstatus               DisplayString,
				lldpremoteDevicePsepowerpaircontrolability      DisplayString,
				lldpremoteDevicePsepowerpair                    DisplayString,
				lldpremoteDevicePsepowerclass					DisplayString,			
				lldpremoteDeviceIeee8023MaxFrameSize            DisplayString,				
				lldpremoteDeviceAggregationCapability           DisplayString,
				lldpremoteDeviceAggregationStatus               DisplayString,
				lldpremoteDeviceAggregationPortID               DisplayString,
				lldpremoteDevicePvid                            DisplayString,
				lldpremoteDeviceVlanName                        DisplayString,
				lldpremoteDeviceRowStatus                       INTEGER
			}		
			lldpremoteDeviceIndex	OBJECT-TYPE
				SYNTAX		Integer32 (1..65535)
				MAX-ACCESS	read-only
				STATUS		current
				DESCRIPTION "The index of LLDP remote device"
				::= { lldpremoteDeviceEntry 1 }			
			lldpremoteDeviceLocalPort	OBJECT-TYPE
				SYNTAX		DisplayString
				MAX-ACCESS	read-only
				STATUS		current
				DESCRIPTION "LLDP remote device local port"
				::= { lldpremoteDeviceEntry 2 }	  
			lldpremoteDeviceChassisIDsubtype OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device chassis ID subtype"
				::= { lldpremoteDeviceEntry 3 }	
			lldpremoteDeviceChassisID OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device chassis ID"
				::= { lldpremoteDeviceEntry 4 }
			lldpremoteDevicePortIDsubtype OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device port ID subtype"
				::= { lldpremoteDeviceEntry 5 }
			lldpremoteDevicePortID OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device port ID"
				::= { lldpremoteDeviceEntry 6 }
			lldpremoteDeviceSystemName OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device system name"
				::= { lldpremoteDeviceEntry 7 }
			lldpremoteDeviceTimetolive  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device time to live"
				::= { lldpremoteDeviceEntry 8 }
			lldpremoteDeviceEntryIndex  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device entry index"
				::= { lldpremoteDeviceEntry 9 }
			lldpremoteDevicePortDescription  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LDP remote device port description"
				::= { lldpremoteDeviceEntry 10 }
			lldpremoteDeviceSystemdescription  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device system description"
				::= { lldpremoteDeviceEntry 11 }
			lldpremoteDeviceSupportedsystemcapabilities  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device supported syste, capabilities"
				::= { lldpremoteDeviceEntry 12 }
			lldpremoteDeviceEnablesystemcapabilities OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device enable system capabilities"
				::= { lldpremoteDeviceEntry 13 }
			lldpremoteDeviceManagementAddress  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device management address"
				::= { lldpremoteDeviceEntry 14 }
			lldpremoteDeviceAuto-negosupported  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device auto-nego supported"
				::= { lldpremoteDeviceEntry 15 }
			lldpremoteDeviceAuto-negoenabled  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device auto-nego enabled"
				::= { lldpremoteDeviceEntry 16 }
			lldpremoteDeviceAuto-negoAdvertisedCapabilities  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device auto-nego advertised capabilities"
				::= { lldpremoteDeviceEntry 17 }
			lldpremoteDeviceOperationMAUtype  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device operation MAU type"
				::= { lldpremoteDeviceEntry 18 }
			lldpremoteDeviceMdipowersupportportclass  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device PSE MDI power support class"
				::= { lldpremoteDeviceEntry 19 }
			lldpremoteDevicePsemdipowersupport  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device PSE MDI power support"
				::= { lldpremoteDeviceEntry 20 }
			lldpremoteDevicePsemdipowerstatus  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device PSE MDI power status"
				::= { lldpremoteDeviceEntry 21 }
			lldpremoteDevicePsepowerpaircontrolability  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device PSE power pair control ability"
				::= { lldpremoteDeviceEntry 22 }
			lldpremoteDevicePsepowerpair  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device PSE power pair"
				::= { lldpremoteDeviceEntry 23 }
			lldpremoteDevicePsepowerclass  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device PSE power class"
				::= { lldpremoteDeviceEntry 24 }
			lldpremoteDeviceIeee8023MaxFrameSize  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device IEEE 802.3 Max frame size"
				::= { lldpremoteDeviceEntry 25 }
			lldpremoteDeviceAggregationCapability OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device aggregation capabilities"
				::= { lldpremoteDeviceEntry 26 }
			lldpremoteDeviceAggregationStatus  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device aggregation status"
				::= { lldpremoteDeviceEntry 27 }
			lldpremoteDeviceAggregationPortID  OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device aggregation Port ID"
				::= { lldpremoteDeviceEntry 28 }
			lldpremoteDevicePvid OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device PVID"
				::= { lldpremoteDeviceEntry 29 }
			lldpremoteDeviceVlanName OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP remote device VLAN name"
				::= { lldpremoteDeviceEntry 30 }
			lldpremoteDeviceRowStatus OBJECT-TYPE
				SYNTAX      INTEGER {  
					active(1),
					desroty(6)
				}
				MAX-ACCESS  read-write
				STATUS      current
				DESCRIPTION	"LLDP remote device device rowstatus"
				::= { lldpremoteDeviceEntry 31 }

		lldpOverloadingTable	OBJECT-TYPE
			SYNTAX SEQUENCE OF LLDPOverloadingEntry
			MAX-ACCESS	not-accessible
			STATUS		current
			DESCRIPTION	"The table of LLDP overlaoding"
			::= { lldp 10 }
		lldpOverloadingEntry	OBJECT-TYPE
			SYNTAX		LLDPOverloadingEntry
			MAX-ACCESS	not-accessible
			STATUS		current
			DESCRIPTION	"The entry of LLDP overlaoding"
			INDEX	{ lldpOverloadingPortIndex }
			::= { lldpOverloadingTable 1 }  
			LLDPOverloadingEntry	::= SEQUENCE {
				lldpOverloadingPortIndex      	Integer32,
				lldpOverloadingTotal            Integer32,
				lldpOverloadingLeftToSend       Integer32,
				lldpOverloadingStatus           DisplayString,
				lldpOverloadingMandatoryTLVs    DisplayString,
				lldpOverloadingIeee8023TLVs     DisplayString,
				lldpOverloadingOptionalTLVs     DisplayString,
				lldpOverloadingIeee8021TLVs  	DisplayString
			}		
			lldpOverloadingPortIndex	OBJECT-TYPE
				SYNTAX		Integer32 (1..65535)
				MAX-ACCESS	read-only
				STATUS		current
				DESCRIPTION "The port index of LLDP overlaoding"
				::= { lldpOverloadingEntry 1 }	  
			lldpOverloadingTotal OBJECT-TYPE
				SYNTAX      Integer32
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP overloading total"
				::= { lldpOverloadingEntry 2 }	
			lldpOverloadingLeftToSend OBJECT-TYPE
				SYNTAX      Integer32
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP overloading left to send"
				::= { lldpOverloadingEntry 3 }
			lldpOverloadingStatus OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP overloading status"
				::= { lldpOverloadingEntry 4 }
			lldpOverloadingMandatoryTLVs OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP overloading mandatory TLVs"
				::= { lldpOverloadingEntry 5 }
			lldpOverloadingIeee8023TLVs OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP overloading IEEE 802.3 TLVs"
				::= { lldpOverloadingEntry 6 }
			lldpOverloadingOptionalTLVs OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP overloading optional TLVs"
				::= { lldpOverloadingEntry 7 }
			lldpOverloadingIeee8021TLVs OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"LLDP overloading IEEE 802.1 TLVs"
				::= { lldpOverloadingEntry 8 }
-- management.snmp
	snmpState OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"SNMP golbal setting"
		::= { snmp 1 }	
	snmpCommunityTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF CommunityEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of SNMP community"
		::= { snmp 2 }
	snmpCommunityEntry	OBJECT-TYPE
		SYNTAX		CommunityEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of SNMP community"
		INDEX	{ snmpCommunityIndex }
		::= { snmpCommunityTable 1 }  
		CommunityEntry	::= SEQUENCE {  
			snmpCommunityIndex			Integer32,
			snmpCommunityString      	DisplayString,
			snmpCommunityAccessRight	INTEGER,
			snmpCommunityRowStatus      INTEGER
		}		
		snmpCommunityIndex OBJECT-TYPE
			SYNTAX	Integer32 (1..8)
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION "The index of SNMP community"
			::= { snmpCommunityEntry 1 }
		snmpCommunityString	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The name of SNMP community"
			::= { snmpCommunityEntry 2 }	  
		snmpCommunityAccessRight OBJECT-TYPE
			SYNTAX      INTEGER {
			 	ro(1),
			 	rw(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"SNMP access mode"
			::= { snmpCommunityEntry 3 }	
		snmpCommunityRowStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			} 
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION	"User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { snmpCommunityEntry 99 }
	snmpTrapHostTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF SnmpTrapHostEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of SNMP trap host"
		::= { snmp 3 }
	snmpTrapHostEntry	OBJECT-TYPE
		SYNTAX		SnmpTrapHostEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of SNMP trap host"
		INDEX	{ snmpTrapHostIndex }
		::= { snmpTrapHostTable 1 }  
		SnmpTrapHostEntry	::= SEQUENCE {
			snmpTrapHostIndex           Integer32,
			snmpTrapHostIpaddress       DisplayString,
			snmpTrapHostCommunityName   DisplayString,
			snmpTrapHostVersion         INTEGER,
			snmpTrapHostRowStatus		INTEGER
		}		
		snmpTrapHostIndex	OBJECT-TYPE
			SYNTAX		Integer32 (0..8)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of SNMP trap host"
			::= { snmpTrapHostEntry 1 }	  
		snmpTrapHostIpaddress OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The ipaddress or hostname of SNMP trap host"
			::= { snmpTrapHostEntry 2 }	
		snmpTrapHostCommunityName	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The community name of SNMP trap host"
			::= { snmpTrapHostEntry 3 }	  
		snmpTrapHostVersion OBJECT-TYPE
			SYNTAX      INTEGER {
			 	v1(1),
			 	v2cTrap(2),
			 	v2cInform(3),
			 	v3Trap(4),
			 	v3Inform(5)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The SNMP version of SNMP trap host"
			::= { snmpTrapHostEntry 4 }
		snmpTrapHostRowStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			} 
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION	"User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { snmpTrapHostEntry 99 }
	snmpv3UserTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF SNMPv3UserEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of SNMPv3 user"
		::= { snmp 4 }
	snmpv3UserEntry	OBJECT-TYPE
		SYNTAX		SNMPv3UserEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of SNMPv3 user"
		INDEX	{ snmpv3UserIndex }
		::= { snmpv3UserTable 1 }  
		SNMPv3UserEntry	::= SEQUENCE {
			snmpv3UserIndex         Integer32,
			snmpv3UserName       	DisplayString,
			snmpv3UserAccessRight   INTEGER,
			snmpv3UserAuthProtocol  INTEGER,
			snmpv3UserAuthPassword  DisplayString,
			snmpv3UserPrivProtocol  INTEGER,
			snmpv3UserPrivPassword	DisplayString,
			snmpv3UserRowStatus		INTEGER
		}		
		snmpv3UserIndex	OBJECT-TYPE
			SYNTAX		Integer32 (0..8)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of SNMPv3 user"
			::= { snmpv3UserEntry 1 }	  
		snmpv3UserName OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The name of SNMPv3 user. Please input more than 8 characters."
			::= { snmpv3UserEntry 2 }	
		snmpv3UserAccessRight	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	readonly(1),
			 	readwrite(2)			 
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The access right of SNMPv3 user"
			::= { snmpv3UserEntry 3 }	  
		snmpv3UserAuthProtocol OBJECT-TYPE
			SYNTAX     	INTEGER {
			 	none(1),
			 	md5(2),
			 	sha(3)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The authentication protocol of SNMPv3 user"
			::= { snmpv3UserEntry 4 }
		snmpv3UserAuthPassword OBJECT-TYPE
			SYNTAX     	DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The authentication password of SNMPv3 user.The password 
						must be at least eight characters long.The password can 
						include alphabetic, numeric, and '-', '_', '.'"
			::= { snmpv3UserEntry 5 }			
		snmpv3UserPrivProtocol OBJECT-TYPE
			SYNTAX     	INTEGER {
			 	none(1),
			 	des(2),
			 	aes(3)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The priviledge protocol of SNMPv3 user"
			::= { snmpv3UserEntry 6 }
		snmpv3UserPrivPassword OBJECT-TYPE
			SYNTAX     	DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The priviledge password of SNMPv3 user.The password 
						must be at least eight characters long.The password can 
						include alphabetic, numeric, and '-', '_', '.'"
			::= { snmpv3UserEntry 7 }				
		snmpv3UserRowStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			} 
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION	"User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { snmpv3UserEntry 99 }

		snmpv3EngineID	OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The snmpv3 engine ID"
			::= { snmp 5 }
			
-- management.poe   
	poeSystemSetting	OBJECT IDENTIFIER ::= { poe 1 }	
		poeFwVersion OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The PoE firmware version"
			::= { poeSystemSetting 1 }
		poeMaxPowerAvailable OBJECT-TYPE 
			SYNTAX      INTEGER (0..720)
			UNITS 		"W"
			MAX-ACCESS  read-write
			STATUS      current 
			DESCRIPTION	"The maximum power available in PoE.
			             actual maximun power value is different according Switch Model.
			             ex : EKI-7710G maximun poe power value is 120W.
			                  EKI-7712G maximun poe power value is 240W. "

			::= { poeSystemSetting 2 }
		poeActualPowerConsumption OBJECT-TYPE 
			SYNTAX      INTEGER  
			UNITS		"W"			
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The actual power consumption in PoE"
			::= { poeSystemSetting 3 }
		poeOverLoadDisconnect OBJECT-TYPE 
			SYNTAX      INTEGER  {
			 	overload-port-first(1),
			 	port-based-priority(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The overload disconnect mode in PoE"
			::= { poeSystemSetting 4 }
	poePortSettingTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF PoEPortSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of PoE port setting"
		::= { poe 2 }
	poePortSettingEntry	OBJECT-TYPE
		SYNTAX		PoEPortSettingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of PoE port setting"
		INDEX	{ poePortIndex }
		::= { poePortSettingTable 1 }  
		PoEPortSettingEntry	::= SEQUENCE {  
			poePortIndex				Integer32,
			poePortState      			INTEGER,  
			poePortLegacy				INTEGER,
			poePortPowerLimitClass		INTEGER,
			poePortPriority         	INTEGER,
			poePortPowerLimit			Integer32
		}		
		poePortIndex OBJECT-TYPE
			SYNTAX	Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION "The index of PoE port setting"
			::= { poePortSettingEntry 1 }
		poePortState	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The state of PoE port"
			::= { poePortSettingEntry 2 }	
		poePortLegacy	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The legacy of PoE port"
			::= { poePortSettingEntry 3 }
		poePortPowerLimitClass	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The power limit form classification of PoE port"
			::= { poePortSettingEntry 4 }
		poePortPriority	OBJECT-TYPE
			SYNTAX		INTEGER {
				low(1), 
				medium(2),
				high(3),
			 	critical(4)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The priority of PoE port"
			::= { poePortSettingEntry 5 }
		poePortPowerLimit	OBJECT-TYPE
			SYNTAX		Integer32 (0..30000)
			UNITS		"mW"			
			MAX-ACCESS	read-write
			STATUS		current 
			DESCRIPTION "The power limit of PoE port"
			::= { poePortSettingEntry 6 }												
	poePortStatusTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF PoEPortStatusEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of PoE port status"
		::= { poe 3 }
	poePortStatusEntry	OBJECT-TYPE
		SYNTAX		PoEPortStatusEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of PoE port status"
		INDEX	{ poePortStatusIndex }
		::= { poePortStatusTable 1 }  
		PoEPortStatusEntry	::= SEQUENCE {  
			poePortStatusIndex		Integer32,
			poePortCurrent     	DisplayString,  
			poePortVoltage		DisplayString,
			poePortPower		DisplayString,
			poePortTemp         DisplayString
		}		
		poePortStatusIndex OBJECT-TYPE
			SYNTAX	Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION "The index of PoE port status"
			::= { poePortStatusEntry 1 }
		poePortCurrent	OBJECT-TYPE
			SYNTAX		DisplayString
			UNITS		"mA"			
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The current of PoE port"
			::= { poePortStatusEntry 2 }	
		poePortVoltage	OBJECT-TYPE
			SYNTAX		DisplayString
			UNITS		"V"			 
			MAX-ACCESS	read-only
			STATUS		current 
			DESCRIPTION "The voltage of PoE port"
			::= { poePortStatusEntry 3 }
		poePortPower	OBJECT-TYPE
			SYNTAX		DisplayString  
			UNITS		"W"			
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The power of PoE port"
			::= { poePortStatusEntry 4 }
		poePortTemp	OBJECT-TYPE
			SYNTAX		DisplayString
			UNITS		"C"			 
			MAX-ACCESS	read-only
			STATUS		current 
			DESCRIPTION "The temperature of PoE port"
			::= { poePortStatusEntry 5 }

-- management.tcpModbus
	tcpModbusState OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The state of TCP Modbus"
		::= { tcpModbus 1 }    		
	tcpModbusTimeout OBJECT-TYPE
		SYNTAX      Integer32 (1..32767)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The time out of TCP Modbus"
		::= { tcpModbus 2 }
-- management.dhcpServer  
	dhcpServerState OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The state of DHCP Server"
		::= { dhcpServer 1 }    	
	dhcpServerGlobalSetting	OBJECT IDENTIFIER ::= { dhcpServer 2 }
		dhcpServerLeaseTime OBJECT-TYPE
			SYNTAX      INTEGER	(60..864000)   
			UNITS 		"second"
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The lease time of DHCP server"
			::= { dhcpServerGlobalSetting 1 }
		dhcpServerLowIP OBJECT-TYPE 
			SYNTAX      IpAddress		
			MAX-ACCESS  read-write
			STATUS      current 
			DESCRIPTION	"The low IP address of DHCP server"
			::= { dhcpServerGlobalSetting 2 }
		dhcpServerHighIP OBJECT-TYPE 
			SYNTAX      IpAddress		
			MAX-ACCESS  read-write
			STATUS      current 
			DESCRIPTION	"The high IP address of DHCP server"
			::= { dhcpServerGlobalSetting 3 }
		dhcpServerSubmask OBJECT-TYPE 
			SYNTAX      IpAddress		
			MAX-ACCESS  read-write
			STATUS      current 
			DESCRIPTION	"The subnet mask of DHCP server"
			::= { dhcpServerGlobalSetting 4 }
		dhcpServerGateway OBJECT-TYPE 
			SYNTAX      IpAddress		
			MAX-ACCESS  read-write
			STATUS      current 
			DESCRIPTION	"The gateway of DHCP server"
			::= { dhcpServerGlobalSetting 5 }
		dhcpServerDNS OBJECT-TYPE 
			SYNTAX      IpAddress		
			MAX-ACCESS  read-write
			STATUS      current 
			DESCRIPTION	"The DNS of DHCP server"
			::= { dhcpServerGlobalSetting 6 }   
		dhcpServerStatus OBJECT-TYPE 
			SYNTAX      INTEGER {
			 	active(1),
			 	notInService(2)
		    }
			MAX-ACCESS  read-write
			STATUS      current 
			DESCRIPTION	"If user set golbal setting with SNMP, the value would not apply to 
						swith. They need to set active(1) to apply into switch."
			::= { dhcpServerGlobalSetting 7 }
		dhcpServerClearIpPool OBJECT-TYPE 
			SYNTAX      INTEGER {
				clear(1)
			}		
			MAX-ACCESS  read-write
			STATUS      current 
			DESCRIPTION	"Clear IP pool in DHCP Server"
			::= { dhcpServerGlobalSetting 8 }
	dhcpServerPortTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF DHCPServerPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of DHCP server port setting"
		::= { dhcpServer 3 }
	dhcpServerPortEntry	OBJECT-TYPE
		SYNTAX		DHCPServerPortEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of DHCP server port setting"
		INDEX	{ dhcpServerPortIndex }
		::= { dhcpServerPortTable 1 }  
		DHCPServerPortEntry	::= SEQUENCE {  
			dhcpServerPortIndex		Integer32,
			dhcpServerPortLowIP    	IpAddress,  
			dhcpServerPortHighIP	IpAddress,
			dhcpServerPortMask		IpAddress,
			dhcpServerPortGW        IpAddress,
			dhcpServerPortDNS		IpAddress, 
			dhcpServerPortStatus	INTEGER,
			dhcpServerPortClear		INTEGER
		}		
		dhcpServerPortIndex OBJECT-TYPE
			SYNTAX	Integer32 (1..65535)
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION "The index of DHCP server port setting"
			::= { dhcpServerPortEntry 1 }
		dhcpServerPortLowIP	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The low IP address of DHCP server port"
			::= { dhcpServerPortEntry 2 }	
		dhcpServerPortHighIP	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The high IP address of DHCP server port"
			::= { dhcpServerPortEntry 3 }	
		dhcpServerPortMask	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The subnet mask of DHCP server port"
			::= { dhcpServerPortEntry 4 }	
		dhcpServerPortGW	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The gateway of DHCP server port"
			::= { dhcpServerPortEntry 5 }	
		dhcpServerPortDNS	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The DNS of DHCP server port"
			::= { dhcpServerPortEntry 6 }	
		dhcpServerPortStatus OBJECT-TYPE
			SYNTAX		INTEGER {
			 	active(1),
			 	notInService(2)
			}                  
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "If user set port setting with SNMP, the value would not apply to 
						swith. They need to set active(1) to apply into switch."
			::= { dhcpServerPortEntry 7 }
		dhcpServerPortClear	OBJECT-TYPE
			SYNTAX		INTEGER {
				nothing(0),
				clear(1)
			}		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Clear IP poll on DHCP server port"
			::= { dhcpServerPortEntry 8 }			
	dhcpServerOpt82Table	OBJECT-TYPE
		SYNTAX SEQUENCE OF DHCPServerOpt82Entry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of DHCP option 82 setting"
		::= { dhcpServer 4 }
	dhcpServerOpt82Entry	OBJECT-TYPE
		SYNTAX		DHCPServerOpt82Entry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of DHCP option 82 setting"
		INDEX	{ dhcpServerOpt82Index }
		::= { dhcpServerOpt82Table 1 }  
		DHCPServerOpt82Entry	::= SEQUENCE {  
			dhcpServerOpt82Index			Integer32,
			dhcpServerOpt82CircuitIDFormat	INTEGER,
			dhcpServerOpt82CircuitID       	DisplayString,
			dhcpServerOpt82RemoteIDFormat	INTEGER,
			dhcpServerOpt82RemoteID       	DisplayString,
			dhcpServerOpt82LowIP    		IpAddress,  
			dhcpServerOpt82HighIP			IpAddress,
			dhcpServerOpt82Mask				IpAddress,
			dhcpServerOpt82GW        		IpAddress,
			dhcpServerOpt82DNS				IpAddress,
			dhcpServerOpt82Status			INTEGER,
			dhcpServerOpt82Clear			INTEGER
		}		
		dhcpServerOpt82Index OBJECT-TYPE
			SYNTAX	Integer32  (1..2)
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION "The index of DHCP server option 82 setting"
			::= { dhcpServerOpt82Entry 1 }  
		dhcpServerOpt82CircuitIDFormat	OBJECT-TYPE
			SYNTAX		INTEGER {
				string(1),
				hex(2)
			}		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The circuit ID format of DHCP option 82"
			::= { dhcpServerOpt82Entry 2 }
		dhcpServerOpt82CircuitID	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The circuit ID of DHCP option 82"
			::= { dhcpServerOpt82Entry 3 }
		dhcpServerOpt82RemoteIDFormat	OBJECT-TYPE
			SYNTAX		INTEGER {
				string(1),
				hex(2)
			}		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The remote ID format of DHCP option 82"
			::= { dhcpServerOpt82Entry 4 }
		dhcpServerOpt82RemoteID	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The remote ID of DHCP option 82"
			::= { dhcpServerOpt82Entry 5 }										
		dhcpServerOpt82LowIP	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The low IP address of DHCP option 82"
			::= { dhcpServerOpt82Entry 6 }	
		dhcpServerOpt82HighIP	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The high IP address of DHCP option 82"
			::= { dhcpServerOpt82Entry 7 }	
		dhcpServerOpt82Mask	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The subnet mask of DHCP option 82"
			::= { dhcpServerOpt82Entry 8 }	
		dhcpServerOpt82GW	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The gateway of DHCP option 82"
			::= { dhcpServerOpt82Entry 9 }	
		dhcpServerOpt82DNS	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The DNS of DHCP option 82"
			::= { dhcpServerOpt82Entry 10 }
		dhcpServerOpt82Status	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	active(1),
			 	notInService(2)
			}		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "If user set option82 setting with SNMP, the value would not apply to 
						swith. They need to set active(1) to apply into switch."
			::= { dhcpServerOpt82Entry 11 }					
		dhcpServerOpt82Clear	OBJECT-TYPE
			SYNTAX		INTEGER {
				nothing(0),
				clear(1)
			}		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Clear IP poll on DHCP option 82"
			::= { dhcpServerOpt82Entry 12 }	
	dhcpServerLeaseTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF DHCPServerLeaseEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of DHCP server lease entry"
		::= { dhcpServer 5 }
	dhcpServerLeaseEntry	OBJECT-TYPE
		SYNTAX		DHCPServerLeaseEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of DHCP server lease entry"
		INDEX	{ dhcpServerLeaseIndex }
		::= { dhcpServerLeaseTable 1 }  
		DHCPServerLeaseEntry	::= SEQUENCE {  
			dhcpServerLeaseIndex		Integer32,
			dhcpServerLeaseIp			DisplayString,
			dhcpServerLeaseClientMac    DisplayString,
			dhcpServerLeaseStartTime	DisplayString,
			dhcpServerLeaseEndTime      DisplayString,
			dhcpServerLeaseType   		DisplayString
		} 					
		dhcpServerLeaseIndex OBJECT-TYPE
			SYNTAX	Integer32 (0..1000)
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION "The index of DHCP server lease entry"
			::= { dhcpServerLeaseEntry 1 }  
		dhcpServerLeaseIp	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The IP address of DHCP server lease entry"
			::= { dhcpServerLeaseEntry 2 }
		dhcpServerLeaseClientMac	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The client MAC of DHCP server lease entry"
			::= { dhcpServerLeaseEntry 3 }
		dhcpServerLeaseStartTime	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The start time of DHCP server lease entry"
			::= { dhcpServerLeaseEntry 4 }
		dhcpServerLeaseEndTime	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The end time of DHCP server lease entry"
			::= { dhcpServerLeaseEntry 5 }
		dhcpServerLeaseType	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The type of DHCP server lease entry"
			::= { dhcpServerLeaseEntry 6 }
	dhcpServerRestart OBJECT-TYPE
		SYNTAX      INTEGER {
		 	restart(1)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Restart DHCP Server"
		::= { dhcpServer 6 }  	
	dhcpServerVlanTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF DHCPServerVlanEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of DHCP VLAN setting"
		::= { dhcpServer 7 }
	dhcpServerVlanEntry	OBJECT-TYPE
		SYNTAX		DHCPServerVlanEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of DHCP VLAN setting"
		INDEX	{ dhcpServerVlanIndex }
		::= { dhcpServerVlanTable 1 }  
		DHCPServerVlanEntry	::= SEQUENCE {  
			dhcpServerVlanIndex		Integer32,
			dhcpServerVlanId		Integer32,
			dhcpServerVlanLowIP    	IpAddress,  
			dhcpServerVlanHighIP	IpAddress,
			dhcpServerVlanMask		IpAddress,
			dhcpServerVlanGW        IpAddress,
			dhcpServerVlanDNS		IpAddress,
			dhcpServerVlanStatus	INTEGER,
			dhcpServerVlanClear		INTEGER
		}		
		dhcpServerVlanIndex OBJECT-TYPE
			SYNTAX	Integer32  (1..2)
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION "The index of DHCP server VLAN setting"
			::= { dhcpServerVlanEntry 1 }  
		dhcpServerVlanId	OBJECT-TYPE
			SYNTAX		Integer32 (1..4094)		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The VLAN ID of DHCP VLAN setting"
			::= { dhcpServerVlanEntry 2 }								
		dhcpServerVlanLowIP	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The low IP address of DHCP VLAN"
			::= { dhcpServerVlanEntry 3 }	
		dhcpServerVlanHighIP	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The high IP address of DHCP VLAN"
			::= { dhcpServerVlanEntry 4 }	
		dhcpServerVlanMask	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The subnet mask of DHCP VLAN"
			::= { dhcpServerVlanEntry 5 }	
		dhcpServerVlanGW	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The gateway of DHCP VLAN"
			::= { dhcpServerVlanEntry 6 }	
		dhcpServerVlanDNS	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The DNS of DHCP VLAN"
			::= { dhcpServerVlanEntry 7 }
		dhcpServerVlanStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	active(1),
			 	notInService(2)
			}		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "If user set VLAN setting with SNMP, the value would not apply to 
						swith. They need to set active(1) to apply into switch."
			::= { dhcpServerVlanEntry 8 }					
		dhcpServerVlanClear	OBJECT-TYPE
			SYNTAX		INTEGER {
				nothing(0),
				clear(1)
			}		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Clear IP poll on DHCP VLAN"
			::= { dhcpServerVlanEntry 9 }					

	dhcpServerClientMacTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF DhcpServerClientMacEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of DHCP client mac setting"
		::= { dhcpServer 8 }
	dhcpServerClientMacEntry	OBJECT-TYPE
		SYNTAX		DhcpServerClientMacEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of DHCP server client mac setting"
		INDEX	{ dhcpServerClientMacEntryID }
		::= { dhcpServerClientMacTable 1 }  
		DhcpServerClientMacEntry	::= SEQUENCE {  
			dhcpServerClientMacEntryID		Integer32,
			dhcpServerClientMacEntryMac		DisplayString,
			dhcpServerClientMacEntryIP    IpAddress,  
			dhcpServerClientMacEntryMask		IpAddress,
			dhcpServerClientMacEntryGW        IpAddress,
			dhcpServerClientMacEntryDNS				IpAddress,
			dhcpServerClientMacEntryRowStatus	INTEGER
		}		
		dhcpServerClientMacEntryID OBJECT-TYPE
			SYNTAX	Integer32  (1..100)
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION "The index of DHCP server client mac entry"
			::= { dhcpServerClientMacEntry 1 }  

		dhcpServerClientMacEntryMac	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The MAC address of DHCP server client mac entry."
			::= { dhcpServerClientMacEntry 2 }	 
						
		dhcpServerClientMacEntryIP	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The IP address of DHCP server client mac entry."
			::= { dhcpServerClientMacEntry 3 }	

		dhcpServerClientMacEntryMask	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The subnet mask of DHCP DHCP server client mac entry."
			::= { dhcpServerClientMacEntry 4 }	
		dhcpServerClientMacEntryGW	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The gateway of DHCP DHCP server client mac entry."
			::= { dhcpServerClientMacEntry 5 }	
		dhcpServerClientMacEntryDNS	OBJECT-TYPE
			SYNTAX		IpAddress		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The DNS of DHCP DHCP server client mac entry."
			::= { dhcpServerClientMacEntry 6 }
		dhcpServerClientMacEntryRowStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	valid(1),
			 	createRequest(2),
			 	underCreation(3),
			 	invalid(4)
			}		
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createRequest(2) to create new entry.
						After setup the value, user use valid(1) to set into switch.
						User can use destory to invalid(4) an entry."
			::= { dhcpServerClientMacEntry 7 }	
			
-- management.smtpClient
	smtpActiveProfile OBJECT-TYPE
		SYNTAX      INTEGER {
		 	one(1),
		 	two(2),
		 	none(3)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The active profile of SMTP client"
		::= { smtpClient 1 }    	
	smtpProfileTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF SMTPProfileEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of SMTP client profile"
		::= { smtpClient 2 }
	smtpProfileEntry	OBJECT-TYPE
		SYNTAX		SMTPProfileEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of SMTP client profile"
		INDEX	{ smtpProfileIndex }
		::= { smtpProfileTable 1 }  
		SMTPProfileEntry	::= SEQUENCE {  
			smtpProfileIndex	Integer32,
			smtpServerIp     	DisplayString,  
			smtpServerPort		Integer32,
			smtpSenderMail		DisplayString,
			smtpTargetMail1     DisplayString,
			smtpTargetMail2		DisplayString,
			smtpTargetMail3     DisplayString,
			smtpTargetMail4		DisplayString, 
			smtpTargetMail5     DisplayString,
			smtpTargetMail6		DisplayString,
			smtpTargetMail7     DisplayString,
			smtpTargetMail8		DisplayString
		}		
		smtpProfileIndex OBJECT-TYPE
			SYNTAX	Integer32 (1..2)
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION "The index of SMTP client profile"
			::= { smtpProfileEntry 1 }
		smtpServerIp	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The SMTP server IP"
			::= { smtpProfileEntry 2 }	   
		smtpServerPort	OBJECT-TYPE
			SYNTAX		Integer32		
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The SMTP server port"
			::= { smtpProfileEntry 3 }			
		smtpSenderMail	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The SMTP sender mail"
			::= { smtpProfileEntry 4 }	
		smtpTargetMail1	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The SMTP target mail 1"
			::= { smtpProfileEntry 5 }							
		smtpTargetMail2	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The SMTP target mail 2"
			::= { smtpProfileEntry 6 }	
		smtpTargetMail3	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The SMTP target mail 3"
			::= { smtpProfileEntry 7 }	
		smtpTargetMail4	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The SMTP target mail 4"
			::= { smtpProfileEntry 8 }
		smtpTargetMail5	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The SMTP target mail 5"
			::= { smtpProfileEntry 9 }							
		smtpTargetMail6	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The SMTP target mail 6"
			::= { smtpProfileEntry 10 }	
		smtpTargetMail7	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The SMTP target mail 7"
			::= { smtpProfileEntry 11 }	
		smtpTargetMail8	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The SMTP target mail 8"
			::= { smtpProfileEntry 12 }					
-- management.rmon			
	rmonStatisticsTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF RMONStatisticsEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of RMON Statistics"
		::= { rmon 1 }
	rmonStatisticsEntry	OBJECT-TYPE
		SYNTAX		RMONStatisticsEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of RMON Statistics"
		INDEX	{ rmonStatisticsIndex }
		::= { rmonStatisticsTable 1 }  
		RMONStatisticsEntry	::= SEQUENCE {  
			rmonStatisticsIndex			Integer32,
			rmonStatisticsPort			Integer32,
			rmonStatisticsDropEvents 	Counter32,  
			rmonStatisticsOctets        Counter32,
			rmonStatisticsPackets       Counter32,
			rmonStatisticsBroadcast     Counter32,
			rmonStatisticsMulticast     Counter32,
			rmonStatisticsOwner         DisplayString,
			rmonStatisticsRowStatus     INTEGER
		}		
		rmonStatisticsIndex OBJECT-TYPE
			SYNTAX	Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION "The index of RMON Statistics"
			::= { rmonStatisticsEntry 1 }
		rmonStatisticsPort	OBJECT-TYPE
			SYNTAX		Integer32		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The port number of RMON Statistics"
			::= { rmonStatisticsEntry 2 }	   
		rmonStatisticsDropEvents	OBJECT-TYPE
			SYNTAX		Counter32		
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The drop events of RMON Statistics"
			::= { rmonStatisticsEntry 3 }
		rmonStatisticsOctets	OBJECT-TYPE
			SYNTAX		Counter32		
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The octets of RMON Statistics"
			::= { rmonStatisticsEntry 4 }
		rmonStatisticsPackets OBJECT-TYPE
			SYNTAX		Counter32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The packets of RMON Statistics"
			::= { rmonStatisticsEntry 5 }
		rmonStatisticsBroadcast	OBJECT-TYPE
			SYNTAX		Counter32		
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The broadcast of RMON Statistics"
			::= { rmonStatisticsEntry 6 }	   
		rmonStatisticsMulticast	OBJECT-TYPE
			SYNTAX		Counter32			
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The multicast of RMON Statistics"
			::= { rmonStatisticsEntry 7 }
		rmonStatisticsOwner	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The owner of RMON Statistics"
			::= { rmonStatisticsEntry 8 }
		rmonStatisticsRowStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	valid(1),
			 	createRequest(2),
			 	underCreation(3),
			 	invalid(4)
			}		
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createRequest(2) to create new entry.
						After setup the value, user use valid(1) to set into switch.
						User can use destory to invalid(4) an entry."
			::= { rmonStatisticsEntry 9 }

	rmonHistoryTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF RMONHistoryEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of RMON history"
		::= { rmon 2 }
	rmonHistoryEntry	OBJECT-TYPE
		SYNTAX		RMONHistoryEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of RMON history"
		INDEX	{ rmonHistoryIndex }
		::= { rmonHistoryTable 1 }  
		RMONHistoryEntry	::= SEQUENCE {  
			rmonHistoryIndex			Integer32,
			rmonHistoryPort				Integer32,
			rmonHistoryBucketsRequest 	Integer32,  
			-- rmonHistoryBucketsGrant    	Integer32,
			rmonHistoryInterval       	Integer32,
			rmonHistoryOwner         	DisplayString,
			rmonHistoryRowStatus     	INTEGER
		}		
		rmonHistoryIndex OBJECT-TYPE
			SYNTAX	Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION "The index of RMON history"
			::= { rmonHistoryEntry 1 }
		rmonHistoryPort	OBJECT-TYPE
			SYNTAX		Integer32		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The port number of RMON history"
			::= { rmonHistoryEntry 2 }			
		rmonHistoryBucketsRequest OBJECT-TYPE
			SYNTAX		Integer32 (1..50)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The buckets requested of RMON history"
			::= { rmonHistoryEntry 3 }
--		rmonHistoryBucketsGrant	OBJECT-TYPE
--			SYNTAX		Integer32 		
--			MAX-ACCESS	read-only
--			STATUS		current
--			DESCRIPTION "The buckets granted of RMON history"
--			::= { rmonHistoryEntry 4 }
		rmonHistoryInterval OBJECT-TYPE
			SYNTAX		Integer32 (1..3600)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The index of RMON history"
			::= { rmonHistoryEntry 5 }
		rmonHistoryOwner	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The port number of RMON history"
			::= { rmonHistoryEntry 6 }
		rmonHistoryRowStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	valid(1),
			 	createRequest(2),
			 	underCreation(3),
			 	invalid(4)
			}		
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createRequest(2) to create new entry.
						After setup the value, user use valid(1) to set into switch.
						User can use destory to invalid(4) an entry."
			::= { rmonHistoryEntry 7 }									

	rmonAlarmTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF RMONAlarmEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of RMON alarm"
		::= { rmon 3 }
	rmonAlarmEntry	OBJECT-TYPE
		SYNTAX		RMONAlarmEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of RMON alarm"
		INDEX	{ rmonAlarmIndex }
		::= { rmonAlarmTable 1 }  
		RMONAlarmEntry	::= SEQUENCE {  
			rmonAlarmIndex				Integer32,
			rmonAlarmInterval			Integer32,
			rmonAlarmVariable 			DisplayString,  
			rmonAlarmSampleType        	INTEGER,
			rmonAlarmRisingThreshold    Integer32,
			rmonAlarmFallingThreshold   Integer32,
			rmonAlarmRisingEventIndex   Integer32,
			rmonAlarmFallingEventIndex	Integer32, 
			rmonAlarmOwner				DisplayString,
			rmonAlarmRowStatus     		INTEGER
		}		
		rmonAlarmIndex OBJECT-TYPE
			SYNTAX	Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION "The index of RMON alarm"
			::= { rmonAlarmEntry 1 }
		rmonAlarmInterval	OBJECT-TYPE
			SYNTAX		Integer32 (1..2147483647)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The interval of RMON alarm"
			::= { rmonAlarmEntry 2 }	   
		rmonAlarmVariable	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The variable of RMON alarm"
			::= { rmonAlarmEntry 3 }
		rmonAlarmSampleType	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	absolute(1),
			 	delta(2)	
			}		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The sample type of RMON alarm"
			::= { rmonAlarmEntry 4 }
		rmonAlarmRisingThreshold OBJECT-TYPE
			SYNTAX		Integer32 (1..2147483647)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The rising threshold of RMON alarm"
			::= { rmonAlarmEntry 5 }
		rmonAlarmFallingThreshold	OBJECT-TYPE
			SYNTAX		Integer32 (1..2147483647)		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The falling threshold of RMON alarm"
			::= { rmonAlarmEntry 6 }	   
		rmonAlarmRisingEventIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The rising event index of RMON alarm"
			::= { rmonAlarmEntry 7 }
		rmonAlarmFallingEventIndex	OBJECT-TYPE
			SYNTAX		Integer32 (1..65535)		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The falling event indx of RMON alarm"
			::= { rmonAlarmEntry 8 }   
		rmonAlarmOwner	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The owner of RMON alarm"
			::= { rmonAlarmEntry 9 }			
		rmonAlarmRowStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	valid(1),
			 	createRequest(2),
			 	underCreation(3),
			 	invalid(4)
			}		
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createRequest(2) to create new entry.
						After setup the value, user use valid(1) to set into switch.
						User can use destory to invalid(4) an entry."
			::= { rmonAlarmEntry 10 }

	rmonEventTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF RMONEventEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of RMON event"
		::= { rmon 4 }
	rmonEventEntry	OBJECT-TYPE
		SYNTAX		RMONEventEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of RMON event"
		INDEX	{ rmonEventIndex }
		::= { rmonEventTable 1 }  
		RMONEventEntry	::= SEQUENCE {  
			rmonEventIndex			Integer32,
			rmonEventDescription	DisplayString,  
			rmonEventType        	INTEGER,
			rmonEventCommunity   	DisplayString, 
			rmonEventOwner			DisplayString,
--			rmonEventLastTimeSend	DisplayString,
			rmonEventRowStatus     	INTEGER
		}		
		rmonEventIndex OBJECT-TYPE
			SYNTAX	Integer32 (1..65535)
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION "The index of RMON event"
			::= { rmonEventEntry 1 }
		rmonEventDescription	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The description of RMON event"
			::= { rmonEventEntry 2 }	   
		rmonEventType	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	none(1),
			 	log(2),
			 	trap(3),
			 	logTrap(4)	
			}		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The type of RMON event"
			::= { rmonEventEntry 3 }
		rmonEventCommunity OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The community of RMON event"
			::= { rmonEventEntry 4 }
		rmonEventOwner	OBJECT-TYPE
			SYNTAX		DisplayString		
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The owner of RMON event"
			::= { rmonEventEntry 5 }
--		rmonEventLastTimeSend	OBJECT-TYPE
--			SYNTAX		DisplayString		
--			MAX-ACCESS	read-only
--			STATUS		current
--			DESCRIPTION "The last time send of RMON event"
--			::= { rmonEventEntry 6 }						
		rmonEventRowStatus	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	valid(1),
			 	createRequest(2),
			 	underCreation(3),
			 	invalid(4)
			}		
			MAX-ACCESS	read-create
			STATUS		current
			DESCRIPTION "User can use createRequest(2) to create new entry.
						After setup the value, user use valid(1) to set into switch.
						User can use destory to invalid(4) an entry."
			::= { rmonEventEntry 7 }

-- management.ntp	
		ntpServer	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "enable/disable NTP server."
			::= { ntp 1 }	 
			
		ntpManualTime	OBJECT-TYPE
			SYNTAX		INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "enable/disable NTP manual time."
			::= { ntp 2 }	 	
		
		ntpServerTable	OBJECT-TYPE
			SYNTAX SEQUENCE OF NtpServerEntry
			MAX-ACCESS	not-accessible
			STATUS		current
			DESCRIPTION	"The table of NTP server"
			::= { ntp 3 }
		ntpServerEntry	OBJECT-TYPE
			SYNTAX		NtpServerEntry
			MAX-ACCESS	not-accessible
			STATUS		current
			DESCRIPTION	"The entry of NTP server"
			INDEX	{ ntpServerIndex }
			::= { ntpServerTable 1 }  
			NtpServerEntry	::= SEQUENCE {  
				ntpServerIndex			Integer32,
				ntpServerIp					IpAddress
			}
			
		ntpServerIndex OBJECT-TYPE
			SYNTAX	Integer32 (1..10)
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION "The index of NTP server"
			::= { ntpServerEntry 1 }			

		ntpServerIp OBJECT-TYPE
			SYNTAX	IpAddress
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION "The ip address of NTP server"
			::= { ntpServerEntry 2 }
													
-- diagnostics
    copperTest			OBJECT IDENTIFIER ::= { diagnostics 1 }
    pingTest			OBJECT IDENTIFIER ::= { diagnostics 2 }
    ipv6pingTest		OBJECT IDENTIFIER ::= { diagnostics 3 }
    loggingSetting		OBJECT IDENTIFIER ::= { diagnostics 4 }       
    factoryDefault  	OBJECT IDENTIFIER ::= { diagnostics 5 }
    reboot				OBJECT IDENTIFIER ::= { diagnostics 6 }  
    dhcpAutoProvision	OBJECT IDENTIFIER ::= { diagnostics 7 }
    ledIndication	OBJECT IDENTIFIER ::= { diagnostics 8 }
-- diagnostic.copperTest
	portNumber OBJECT-TYPE
		SYNTAX      INTEGER
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The port ID for copper test"
		::= { copperTest 1 }
	copperTestAction OBJECT-TYPE 
		SYNTAX      INTEGER {
			copperTest(1)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Copper test action"
		::= { copperTest 2 }
	copperTestResult 			OBJECT IDENTIFIER ::= { copperTest 3 }	 		
		resultPort OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test port ID"
			::= { copperTestResult 1 }
		channelA OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result for channel A"
			::= { copperTestResult 2 }
		cableLengthA  OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result for cable length A"
			::= { copperTestResult 3 }
		channelB  OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result for channel B"
			::= { copperTestResult 4 }
		cableLengthB  OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result forcable length B"
			::= { copperTestResult 5 }
		channelC  OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result for channel C"
			::= { copperTestResult 6 }
		cableLengthC OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result for cable length C"
			::= { copperTestResult 7 }
		channelD OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result for channel D"
			::= { copperTestResult 8 }
		cableLengthD OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result for cable length D"
			::= { copperTestResult 9 }  
		channelRx  OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result for channel Rx"
			::= { copperTestResult 10 }
		cableLengthRx OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result for cable length Rx"
			::= { copperTestResult 11 }
		channelTx OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result for channel Tx"
			::= { copperTestResult 12 }
		cableLengthTx OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The copper test result for cable length Tx"
			::= { copperTestResult 13 } 			
-- diagnostic.pingTest  
	pingIPAddress OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The IP address or hostname of ping target"
		::= { pingTest 1 }
	pingCount OBJECT-TYPE 
		SYNTAX      Integer32 (1..5)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"How many times to send ping request packets"
		::= { pingTest 2 }
	pingInterval OBJECT-TYPE
		SYNTAX      Integer32 (1..5)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Time interval between each ping request packets"
		::= { pingTest 3 }
	pingSize OBJECT-TYPE 
		SYNTAX      Integer32 (8..5120)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The size of ping packet"
		::= { pingTest 4 }
	pingAction OBJECT-TYPE
		SYNTAX      INTEGER {
		 	ping(1)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The ping action"
		::= { pingTest 5 }  
	pingResult OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	"After ping finished, results will show in this OID"
		::= { pingTest 6 }
-- diagnostic.ipv6pingTest
	pingIPv6Address OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The IPv6 address of ping target"
		::= { ipv6pingTest 1 }
	pingIPv6Count OBJECT-TYPE 
		SYNTAX      Integer32 (1..5)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"How many times to send ping request packet"
		::= { ipv6pingTest 2 }
	pingIPv6Interval OBJECT-TYPE
		SYNTAX      Integer32 (1..5)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Time interval between each ping request packet"
		::= { ipv6pingTest 3 }
	pingIPv6Size OBJECT-TYPE 
		SYNTAX      Integer32 (8..5120)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The size of ping packet"
		::= { ipv6pingTest 4 }
	pingIPv6Action OBJECT-TYPE
		SYNTAX      INTEGER {
		 	ping(1)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The IPv6 ping action"
		::= { ipv6pingTest 5 }  
	pingIPv6Result OBJECT-TYPE
		SYNTAX      DisplayString
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	"After ping finished, results will show in this field"
		::= { ipv6pingTest 6 }
-- diagnostic.loggingSetting 
	loggingService OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable logging system"
		::= { loggingSetting 1 }
	localLoggingTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF LocalLoggingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of local logging"
		::= { loggingSetting 2 }
	localLoggingEntry	OBJECT-TYPE
		SYNTAX		LocalLoggingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of local logging"
		INDEX	{ localLoggingIndex }
		::= { localLoggingTable 1 }  
		LocalLoggingEntry	::= SEQUENCE { 
			localLoggingIndex		Integer32,
			bufferedtarget 	 		INTEGER,
			localLoggingStatus      INTEGER,
			localLoggingSeverity    BITS
		}
		localLoggingIndex OBJECT-TYPE
			SYNTAX		Integer32 (1..3)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The index of local logging"
			::= { localLoggingEntry 1 }		
		bufferedtarget	OBJECT-TYPE
			SYNTAX		INTEGER {
			   	buffered(1), 
			   	console(2),
			   	file(3)
			}
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The target to store log message
						Buffered: Store log messages in device buffer.
						File: Store log message in file.
						Console: Show the log message on console."
			::= { localLoggingEntry 2 }	  
		localLoggingStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"Enable/Disable status the logging system"
			::= { localLoggingEntry 3 }	
		localLoggingSeverity	OBJECT-TYPE
			SYNTAX		BITS {
			 	emerg(0), 
			 	alert(1), 
			 	crit(2), 
			 	error(3), 
			 	warning(4), 
			 	notice(5), 
			 	info(6), 
			 	debug(7)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "Severity of log message which will be stored"
			::= { localLoggingEntry 4 }	  
	remoteloggingTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF RemoteloggingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of remote logging"
		::= { loggingSetting 3 }
	remoteloggingEntry	OBJECT-TYPE
		SYNTAX		RemoteloggingEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of remote logging"
		INDEX	{ serverAddress }
		::= { remoteloggingTable 1 }  
		RemoteloggingEntry	::= SEQUENCE {
			remoteloggingIndex		Integer32,	
			remoteloggingAddress  	IpAddress,
			remoteloggingPort		Integer32,
			remoteloggingSeverity   BITS,     
			remoteloggingFacility	INTEGER,
			remoteloggingRowStatus	INTEGER
		}
		remoteloggingIndex OBJECT-TYPE
			SYNTAX      Integer32 (1..8)
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The index of remote logging"
			::= { remoteloggingEntry 1 }		
		remoteloggingAddress	OBJECT-TYPE
			SYNTAX		IpAddress
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The IP address of remote log server"
			::= { remoteloggingEntry 2 }	  
		remoteloggingPort OBJECT-TYPE
			SYNTAX      Integer32 (1..65535)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The port number of remote log server"
			::= { remoteloggingEntry 3 }	
		remoteloggingSeverity	OBJECT-TYPE
			SYNTAX		BITS {
			 	emerg(0), 
			 	alert(1), 
			 	crit(2), 
			 	error(3), 
			 	warning(4), 
			 	notice(5), 
			 	info(6), 
			 	debug(7)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The severity of log messages which will be sent"
			::= { remoteloggingEntry 4 }
		remoteloggingFacility OBJECT-TYPE
			SYNTAX      INTEGER {
			 	local0(1), 
			 	local1(2), 
			 	local2(3), 
			 	local3(4),
			 	local4(5), 
			 	local5(6), 
			 	local6(7), 
			 	local7(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The facility of log messages which will be sent"
			::= { remoteloggingEntry 5 }				  
		remoteloggingRowStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			} 
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION	"User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { remoteloggingEntry 99 }	
-- diagnostic.factoryDefault
    factoryDefaultAction OBJECT-TYPE
		SYNTAX      INTEGER {
			factoryDefault(1)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"user to restore switch to factory default"
		::= { factoryDefault 1 }	
		
    factoryDefaultKeepFlag OBJECT-TYPE
		SYNTAX		BITS {
			 	vlan(1),   
			 	ipaddress(2),   
			 	useraccount(3)
		}		
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Keep setting when switch is restore to factory default."
		::= { factoryDefault 2 }	
		  
-- diagnostic.reboot
    rebootAction OBJECT-TYPE
		SYNTAX      INTEGER {
		 	reboot(1)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"user to reboot the switch"
		::= { reboot 1 }					 
-- diagnostic.dhcpAutoProvision
    dhcpAutoProvisionEnable OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The status of DHCP auto provision"
		::= { dhcpAutoProvision 1 }	

-- diagnostic.ledIndication
    ledAlarmState OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable LED alarm"
		::= { ledIndication 1 }			

    ledPowerFailureEvent OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable LED power failure event"
		::= { ledIndication 2 }	
		
    ledFiberLinkdownEvent OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable LED fiber port Link down event"
		::= { ledIndication 3 }			
    
    ledPortLinkdownEvent OBJECT-TYPE
		SYNTAX      INTEGER {
		 	enable(1),
		 	disable(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Enable/Disable LED port Link down event"
		::= { ledIndication 4 }
		
		ledPortLinkdownEventPort OBJECT-TYPE
			SYNTAX		BITS {
			 	port1(0),   port2(1),   port3(2),   port4(3),   port5(4),   port6(5),   port7(6),   port8(7),   port9(8),   port10(9), 
			 	port11(10), port12(11), port13(12), port14(13), port15(14), port16(15), port17(16), port18(17), port19(18), port20(19), 
			 	port21(20), port22(21), port23(22), port24(23), port25(24), port26(25), port27(26), port28(27), port29(28), port30(29), 
			 	port31(30), port32(31)
			}
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The member ports of LED port Link down event"
		::= { ledIndication 5 }

		ledEventInfoTable	OBJECT-TYPE
			SYNTAX SEQUENCE OF LedEventInfoEntry
			MAX-ACCESS	not-accessible
			STATUS		current
			DESCRIPTION	"The table of led event info"
			::= { ledIndication 6 }
		ledEventInfoEntry	OBJECT-TYPE
			SYNTAX		LedEventInfoEntry
			MAX-ACCESS	not-accessible
			STATUS		current
			DESCRIPTION	"The entry of led event info"
			INDEX	{ ledEventIndex }
			::= { ledEventInfoTable 1 }  
			LedEventInfoEntry	::= SEQUENCE {
				ledEventIndex  Integer32,
				ledType        DisplayString,
				ledEvent       DisplayString,
				ledState			 DisplayString,
				ledErrorTimes	 Integer32
			}		
			ledEventIndex	OBJECT-TYPE
				SYNTAX		Integer32 (1..3)
				MAX-ACCESS	read-only
				STATUS		current
				DESCRIPTION "The index of led event info"
				::= { ledEventInfoEntry 1 }	  
			ledType OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"The type of led event info"
				::= { ledEventInfoEntry 2 }	
			ledEvent	OBJECT-TYPE
				SYNTAX		DisplayString
				MAX-ACCESS	read-only
				STATUS		current
				DESCRIPTION "The event of led event info"
				::= { ledEventInfoEntry 3 }
			ledState OBJECT-TYPE
				SYNTAX      DisplayString
				MAX-ACCESS  read-only
				STATUS      current
				DESCRIPTION	"The state of led event info"
				::= { ledEventInfoEntry 4}
			ledErrorTimes	OBJECT-TYPE
				SYNTAX		Integer32 (0..65535)
				MAX-ACCESS	read-only
				STATUS		current
				DESCRIPTION "The error times of led event info"
				::= { ledEventInfoEntry 5 }	 		
			    
-- maintenance
	backupManager 			OBJECT IDENTIFIER ::= { maintenance 1 }
	upgradeManager			OBJECT IDENTIFIER ::= { maintenance 2 }
	dualImage               OBJECT IDENTIFIER ::= { maintenance 3 }
	configurationManager	OBJECT IDENTIFIER ::= { maintenance 4 }
	accountManager			OBJECT IDENTIFIER ::= { maintenance 5 }
	nKey								OBJECT IDENTIFIER ::= { maintenance 6 }
-- maintenance.backupManager
	backupMethod OBJECT-TYPE
		SYNTAX      INTEGER {
		 	tftp(1)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The method of backup file"
		::= { backupManager 1 }
	backupServerIP OBJECT-TYPE 
		SYNTAX      DisplayString
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The IP address of the TFTP server"
		::= { backupManager 2 }
	backupType OBJECT-TYPE
		SYNTAX      INTEGER {
		 	image(1),      
		 	startupConfig(2),
		 	runningConfig(3), 		 
		  	flashlog(5), 
		 	bufferlog(6)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The backup configuration type"
		::= { backupManager 3 }
	backupImage OBJECT-TYPE 
		SYNTAX      INTEGER {
		 	partition0(1), 
		 	partition1(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The backup firmware image"
		::= { backupManager 4 }
	backupAction OBJECT-TYPE
		SYNTAX      INTEGER {
		 	backup(1)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The backup action"
		::= { backupManager 5 } 
-- maintenance.upgradeManager 
	upgradeMethod OBJECT-TYPE
		SYNTAX      INTEGER {
		 	tftp(1)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The upgrade file method"
		::= { upgradeManager 1 }
	upgradeServerIP OBJECT-TYPE 
		SYNTAX      DisplayString
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The server IP address"
		::= { upgradeManager 2 }  
	upgradeFileName OBJECT-TYPE 
		SYNTAX      DisplayString
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The upgrade file name"
		::= { upgradeManager 3 }	
	upgradeType OBJECT-TYPE
		SYNTAX      INTEGER {
		 	image(1), 
		 	startupConfig(2),
		 	runningConfig(3) 
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The upgrade type"
		::= { upgradeManager 4 }
	upgradeImage OBJECT-TYPE 
		SYNTAX      INTEGER {
		 	active(1), 
		 	backup(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The uprade firmware image"
		::= { upgradeManager 5 }
	upgradeAction OBJECT-TYPE
		SYNTAX      INTEGER {
		 	upgrade(1)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The upgrade action"
		::= { upgradeManager 6 } 
	upgradeStatus OBJECT-TYPE
		SYNTAX      INTEGER {
		 	on-going(1),
		 	done(2)
		}
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION	"The upgrade status"
		::= { upgradeManager 7 }
		
-- maintenance.dualImage  
	activeImage OBJECT-TYPE 
		SYNTAX      INTEGER {
		 	image1(1), 
		 	image2(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The active image"
		::= { dualImage 1 }
	imageInfoTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF ImageInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of image info"
		::= { dualImage 2 }
	imageInfoEntry	OBJECT-TYPE
		SYNTAX		ImageInfoEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of image info"
		INDEX	{ flashPartition }
		::= { imageInfoTable 1 }  
		ImageInfoEntry	::= SEQUENCE {
			flashPartition  Integer32,
			imageName       DisplayString,
			imageSize       Integer32,
			createdTime		DisplayString,
			imageVersion	DisplayString
		}		
		flashPartition	OBJECT-TYPE
			SYNTAX		Integer32 (0..2)
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The FLASH partition"
			::= { imageInfoEntry 1 }	  
		imageName OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The image name"
			::= { imageInfoEntry 2 }	
		imageSize	OBJECT-TYPE
			SYNTAX		Integer32
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The image size"
			::= { imageInfoEntry 3 }
		createdTime OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The FW creation time"
			::= { imageInfoEntry 4}	  
		imageVersion OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The image version"
			::= { imageInfoEntry 5}				
-- maintenance.configurationManager 
	sourceFile OBJECT-TYPE 
		SYNTAX      INTEGER {
		 	running(1), 
		 	startup(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The configuration source file"
		::= { configurationManager 1 }
	destinationFile OBJECT-TYPE 
		SYNTAX      INTEGER { 
			running(1),
		 	startup(2)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"The configuration destination file"
		::= { configurationManager 2 }         
	saveConfiguration OBJECT-TYPE 
		SYNTAX      INTEGER {
		 	save(1)
		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	"Save the current configuration"
		::= { configurationManager 3 }
		
-- maintenance.accountManager
	localUserTable	OBJECT-TYPE
		SYNTAX SEQUENCE OF LocalUserEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The table of local user"
		::= { accountManager 1 }
	localUserEntry	OBJECT-TYPE
		SYNTAX		LocalUserEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"The entry of local user"
		INDEX	{ localUserIndex }
		::= { localUserTable 1 }  
		LocalUserEntry	::= SEQUENCE { 
			localUserIndex			Integer32,
			localUserName 			DisplayString,
			localUserPasswordType   INTEGER,
			localUserPassword       DisplayString,
			localUserPrivilegeType  INTEGER,
			localUserRowStatus      INTEGER
		}
		localUserIndex OBJECT-TYPE
			SYNTAX      Integer32 (1..32)
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION	"The index of local user"
			::= { localUserEntry 1 }				
		localUserName	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The user name of local user"
			::= { localUserEntry 2 }	  
		localUserPasswordType OBJECT-TYPE
			SYNTAX      INTEGER {
				cleartext(1), 
				encrypted(2), 
				noPassword(3)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The pasword type of local user"
			::= { localUserEntry 3 }	
		localUserPassword	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION "The password of local user"
			::= { localUserEntry 4 }
		localUserPrivilegeType OBJECT-TYPE
			SYNTAX      INTEGER {
			 	admin(1),
			 	user(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The privilege type of local user"
			::= { localUserEntry 5 }
		localUserRowStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	active(1),
			 	notInService(2),
			 	createAndWait(5),
			 	destory(6)
			} 
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION	"User can use createAndWait(5) to create new entry.
						After setup the value, user use active(1) to set into switch.
						User can use destory to delete(6) an entry."
			::= { localUserEntry 99}	
			
		nKeyAutoMode OBJECT-TYPE
			SYNTAX      INTEGER {
			 	enable(1),
			 	disable(2)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"The auto mode of N-Key."
			::= { nKey 1 }			
		
		nKeyStatus OBJECT-TYPE
			SYNTAX      INTEGER {
			 	idle(0),
			 	backup(1),
			 	restore(2),
			 	running(3)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION	"Select N-key is idle or 
			backup the current configurations to N-Key or
			restore N-Key's configurations to switch.
			The fourth option is read-only."
			::= { nKey 2 }		
			
			
-- traps
	trapObject 			OBJECT IDENTIFIER ::= { traps 1 }
		ddmiAlarmDescr	OBJECT-TYPE
			SYNTAX		DisplayString
			MAX-ACCESS	read-only
			STATUS		current
			DESCRIPTION "The description of DDMI trap"
			::= { trapObject 1 }      
		xRingMasterStatus OBJECT-TYPE
        	SYNTAX      INTEGER  {
            	masterToSlave(1),
                slaveToMaster(2)
            }
        	MAX-ACCESS  read-only
        	STATUS      current
        	DESCRIPTION "The status of XRing Pro Master."
        	::= { trapObject 2 }			
			
	ddmiAlarmWarning NOTIFICATION-TYPE
		OBJECTS { ddmiAlarmDescr }
		STATUS current
		DESCRIPTION	"The DDMI trap"
		::= { traps 2 }
    xRingProMasterChange NOTIFICATION-TYPE
		OBJECTS { xRingMasterStatus, xRingProRingID }
		STATUS current
		DESCRIPTION	"This trap is sent if XRing Pro master change"
		::= { traps 3 }

	stpStateChange NOTIFICATION-TYPE
		OBJECTS { stpPortStatusIndex, stpPortStatus }
		STATUS current
		DESCRIPTION	"This trap is sent if spanning tree port state change to blocking or forwarding"
		::= { traps 5 }

END
