ZYXEL-GS4024-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	IpAddress, enterprises		FROM RFC1155-SMI
	
	NOTIFICATION-TYPE, Unsigned32, Integer32, MODULE-IDENTITY, OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
	TEXTUAL-CONVENTION, RowStatus, DateAndTime, TruthValue, StorageType, MacAddress
		FROM SNMPv2-TC			-- RFC2579
		sysObjectID FROM SNMPv2-MIB
	DisplayString
	  	FROM RFC1213-MIB
	EnabledStatus
		FROM  P-BRIDGE-MIB
	PortList
		FROM  Q-BRIDGE-MIB
	dot1dBasePort
        	FROM BRIDGE-MIB
	InterfaceIndexOrZero			-- RFC2863
		FROM IF-MIB
	SnmpAdminString
		FROM SNMP-FRAMEWORK-MIB		-- RFC2571
	InetAddressType, InetAddress
		FROM INET-ADDRESS-MIB		-- RFC2851
	OperationResponseStatus
		FROM DISMAN-PING-MIB
	ospfIfIpAddress, ospfAddressLessIf, ospfAreaId, ospfNbrIpAddr, ospfNbrAddressLessIndex,
	ospfLsdbAreaId, ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId, ospfVirtIfAreaId, ospfVirtIfNeighbor
		FROM OSPF-MIB;
		
    	zyxel		OBJECT IDENTIFIER ::= { enterprises 890 }	
	products	OBJECT IDENTIFIER ::= { zyxel 1 }
	accessSwitch  	OBJECT IDENTIFIER ::= { products 5 }	
	esSeries	OBJECT IDENTIFIER ::= { accessSwitch 8 }
	gs4024		OBJECT IDENTIFIER ::= { esSeries 13 }
		
--  sysInfo
	sysInfo     	OBJECT IDENTIFIER ::= { gs4024 1 }

        sysSwPlatformMajorVers OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "SW platform major version, e.g. 3."
        ::= { sysInfo 1 }
        
        sysSwPlatformMinorVers OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "SW platform minor version, e.g. 50."
        ::= { sysInfo 2 }
        
        sysSwModelString OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "Model letters, e.g. TJ"
        ::= { sysInfo 3 }
 
        sysSwVersionControlNbr OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "Version control number, e.g. 0."
        ::= { sysInfo 4 }
       
        sysSwDay OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "SW compilation day, e.g. 19."
        ::= { sysInfo 5 }

        sysSwMonth OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "SW compilation month, e.g. 8."
        ::= { sysInfo 6 }

        sysSwYear OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "SW compilation year, e.g. 2004."
        ::= { sysInfo 7 }

        sysHwMajorVers OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "HW major version number, e.g. 1."
        ::= { sysInfo 8 }

        sysHwMinorVers OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "HW minor version number, e.g. 0."
        ::= { sysInfo 9 }

        sysSerialNumber OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "Serial number"
        ::= { sysInfo 10 }

-- rateLimitSetup
	rateLimitSetup OBJECT IDENTIFIER ::= { gs4024 2 }

        rateLimitState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        	"Ingress/egress rate limiting enabled/disabled for the switch."
        ::= { rateLimitSetup 1 }

-- rateLimitPortTable

        rateLimitPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF RateLimitPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { rateLimitSetup 2 }
        
	rateLimitPortEntry OBJECT-TYPE
        SYNTAX	RateLimitPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in rateLimitPortTable."
        INDEX          	{ dot1dBasePort }
        ::= { rateLimitPortTable 1 }

        RateLimitPortEntry ::=
           SEQUENCE {
        	rateLimitPortState	EnabledStatus,
		rateLimitPortCommitRate	INTEGER,
		rateLimitPortPeakRate	INTEGER,
		rateLimitPortEgrRate	INTEGER
           }

        rateLimitPortState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Ingress/egress rate limiting enabled/disabled on the port."
        ::= { rateLimitPortEntry 1 }
        
        rateLimitPortCommitRate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Commit rate in Kbit/s.  The range of FE port is between 0 and 100,000. For GE port, the range is between 0 and 1000,000."
        ::= { rateLimitPortEntry 2 }
        
        rateLimitPortPeakRate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Peak rate in Kbit/s.  The range of FE port is between 1 and 100,000. For GE port, the range is between 1 and 1000,000."
        ::= { rateLimitPortEntry 3 }
        
        rateLimitPortEgrRate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Egress rate in Mbit/s.  The granularity of FE port is between 1 and 100. For GE port, the granularity is between 1 and 1000."
        ::= { rateLimitPortEntry 4 }

-- brLimitSetup
	brLimitSetup OBJECT IDENTIFIER ::= { gs4024 3 }

        brLimitState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Broadcast/multicast/DLF rate limiting enabled/disabled for the switch."
        ::= { brLimitSetup 1 }

-- brLimitPortTable       
        brLimitPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF BrLimitPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { brLimitSetup 2 }
        
	brLimitPortEntry OBJECT-TYPE
        SYNTAX	BrLimitPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in brLimitPortTable."
        INDEX          	{ dot1dBasePort }
        ::= { brLimitPortTable 1 }

        BrLimitPortEntry ::=
           SEQUENCE {
        	brLimitPortBrState	EnabledStatus,
		brLimitPortBrRate	INTEGER,
		brLimitPortMcState	EnabledStatus,
		brLimitPortMcRate	INTEGER,
		brLimitPortDlfState	EnabledStatus,
		brLimitPortDlfRate	INTEGER
           }

        brLimitPortBrState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Broadcast rate limiting enabled/disabled on the port."
        ::= { brLimitPortEntry 1 }
        
        brLimitPortBrRate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Allowed broadcast rate in pkts/s. For FE port, 
                      	the maximum value is 148800. For GE port, the maximum value is 262143."
        ::= { brLimitPortEntry 2 }
        
        brLimitPortMcState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Multicast rate limiting enabled/disabled on the port."
        ::= { brLimitPortEntry 3 }

        brLimitPortMcRate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"AAllowed mullticast rate in pkts/s. For FE port, 
                      	the maximum value is 148800. For GE port, the maximum value is 262143."
        ::= { brLimitPortEntry 4 }

        brLimitPortDlfState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Destination lookup failure frames rate limiting enabled/disabled on the port."
        ::= { brLimitPortEntry 5 }

        brLimitPortDlfRate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Allowed destination lookup failure frames rate in pkts/s. 
                      	For FE port, the maximum value is 148800. For GE port, the maximum value is 262143."
        ::= { brLimitPortEntry 6 }
        
-- portSecuritySetup
	portSecuritySetup OBJECT IDENTIFIER ::= { gs4024 4 }

	portSecurityState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { portSecuritySetup 1 }

        portSecurityPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF PortSecurityPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { portSecuritySetup 2 }
        
	portSecurityPortEntry OBJECT-TYPE
        SYNTAX	PortSecurityPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in portSecurityPortTable."
        INDEX          	{ dot1dBasePort }
        ::= { portSecurityPortTable 1 }

        PortSecurityPortEntry ::=
           SEQUENCE {
        	portSecurityPortState		EnabledStatus,
		portSecurityPortLearnState	EnabledStatus,
		portSecurityPortCount		INTEGER
           }

        portSecurityPortState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Port Security enabled/disabled on the port. 
                      	Active(1) means this port only accept frames from static MAC addresses that are configured for the port, 
                      	and dynamic MAC address frames up to the number specified by portSecurityPortCount object."
        ::= { portSecurityPortEntry 1 }
        
        portSecurityPortLearnState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"MAC address learning  enabled/disable on the port."
        ::= { portSecurityPortEntry 2 }
        
        portSecurityPortCount OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Number of (dynamic) MAC addresses that may be learned on the port."
        ::= { portSecurityPortEntry 3 }

	portSecurityMacFreeze OBJECT-TYPE
        SYNTAX  PortList
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { portSecuritySetup 3 }



-- vlanTrunkPortTable
	vlanTrunkSetup OBJECT IDENTIFIER ::= { gs4024 5 }

        vlanTrunkPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF VlanTrunkPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { vlanTrunkSetup 1 }
        
	vlanTrunkPortEntry OBJECT-TYPE
        SYNTAX	VlanTrunkPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in vlanTrunkPortTable."
        INDEX          	{ dot1dBasePort }
        ::= { vlanTrunkPortTable 1 }

        VlanTrunkPortEntry ::=
           SEQUENCE {
        	vlanTrunkPortState		EnabledStatus
           }

        vlanTrunkPortState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"VlanTrunking enabled/disabled on the port. 
                      	Active(1) to allow frames belonging to unknown 
                      	VLAN groups to pass through the switch."
        ::= { vlanTrunkPortEntry 1 }
        
--  ctlProtTransSetup
	ctlProtTransSetup OBJECT IDENTIFIER ::= { gs4024 6 }

        ctlProtTransState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Bridge control protocol transparency enabled/disabled for the switch"
        ::= { ctlProtTransSetup 1 }

-- ctlProtTransTunnelPortTable

        ctlProtTransTunnelPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF CtlProtTransTunnelPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { ctlProtTransSetup 2 }
        
	ctlProtTransTunnelPortEntry OBJECT-TYPE
        SYNTAX	CtlProtTransTunnelPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in ctlProtTransTunnelPortTable."
        INDEX          	{ dot1dBasePort }
        ::= { ctlProtTransTunnelPortTable 1 }

        CtlProtTransTunnelPortEntry ::=
           SEQUENCE {
        	ctlProtTransTunnelMode	INTEGER
           }

        ctlProtTransTunnelMode OBJECT-TYPE
        SYNTAX  INTEGER{
		peer(0),
		tunnel(1),
		discard(2),
		network(3)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Bridge control protocol transparency mode for the port. 
                      	Modes:  Peer(0), Tunnel(1), Discard(2),  Network(3)"
        ::= { ctlProtTransTunnelPortEntry 1 }

--  vlanStackSetup
	vlanStackSetup OBJECT IDENTIFIER ::= { gs4024 7 }

        vlanStackState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "VLAN Stacking enabled/disabled for the switch."
        ::= { vlanStackSetup 1 }
        
        vlanStackTpid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "SP TPID in hex format, e.g. 8100."
        ::= { vlanStackSetup 2 }

-- vlanStackPortTable
        
        vlanStackPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF VlanStackPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { vlanStackSetup 3 }
        
	vlanStackPortEntry OBJECT-TYPE
        SYNTAX	VlanStackPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in vlanStackPortTable."
        INDEX          	{ dot1dBasePort }
        ::= { vlanStackPortTable 1 }

        VlanStackPortEntry ::=
           SEQUENCE {
        	vlanStackPortMode	INTEGER,
        	vlanStackPortVid	INTEGER,
        	vlanStackPortPrio	INTEGER
           }

        vlanStackPortMode OBJECT-TYPE
        SYNTAX  INTEGER {
		access(1),
		tunnel(2)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Mode of the port.Set Access mode to have the switch add the SP TPID tag to all incoming 
			frames received on this port. Set Access  mode for ingress ports at the 
			edge of the service provider's network. Set Tunnel mode (available for 
			Gigabit ports only) for egress ports at the edge of the service provider's 
			network. In order to support VLAN stacking on a port, the port must be able 
			to allow frames of 1526 Bytes (1522 Bytes + 4 Bytes for the second tag) 
			to pass through it. Access (0),  tunnel (1)"
        ::= { vlanStackPortEntry 1 }

        vlanStackPortVid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"VLAN ID used in service provider tag."
        ::= { vlanStackPortEntry 2 }

        vlanStackPortPrio OBJECT-TYPE
        SYNTAX  INTEGER {
        		prioriry-0(0),
        		prioriry-1(1),
        		prioriry-2(2),
        		prioriry-3(3),
        		prioriry-4(4),
        		prioriry-5(5),
        		prioriry-6(6),
        		prioriry-7(7)
        }
        
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Priority value for service provider tag.  
                      	0 is the lowest priority level and 7 is the highest."
        ::= { vlanStackPortEntry 3 }

--  radius8021xSetup
	radius8021xSetup OBJECT IDENTIFIER ::= { gs4024 8 }

        radiusLoginPrecedence OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"1. Local Only
			 2. Local then RADIUS
			 3. RADIUS Only"
        ::= { radius8021xSetup 1 }

--  radiusAnd8021xServer
        
        radiusAnd8021xServer OBJECT IDENTIFIER ::= { radius8021xSetup 2 }
        
        radiusIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"The IP address of the RADIUS server."
        ::= { radiusAnd8021xServer 1 }

        radiusUdpPort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"The UDP port of the RADIUS server."
        ::= { radiusAnd8021xServer 2 }

        radiusSharedSecret OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Shared secret used for RADIUS and network eleemnt authentication."
        ::= { radiusAnd8021xServer 3 }
                                
--  portAuthState                               
        portAuthState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"802.1x port authentication enabled/disabled for the switch."
        ::= { radius8021xSetup 3 }
                                
                                
-- 8021xPortAuthTable

        portAuthTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF PortAuthEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { radius8021xSetup 4 }
        
		portAuthEntry OBJECT-TYPE
        SYNTAX	PortAuthEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in portAuthTable."
        INDEX          	{ dot1dBasePort }
        ::= { portAuthTable 1 }

        PortAuthEntry ::=
           SEQUENCE {
        	portAuthEntryState	EnabledStatus,
        	portReAuthEntryState	EnabledStatus,
        	portReAuthEntryTimer	INTEGER
           }

        portAuthEntryState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"802.1x port authentication enabled or disabled on the port."
        ::= { portAuthEntry 1 }

        portReAuthEntryState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"802.1x port re-authentication enabled or disabled on the port."
        ::= { portAuthEntry 2 }

        portReAuthEntryTimer OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Re-authentication timer in seconds."
        ::= { portAuthEntry 3 }

-- hardwareInfo
	hwMonitorInfo OBJECT IDENTIFIER ::= { gs4024 9 }

-- fabRpmTable
	
        fanRpmTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF FanRpmEntry
        ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { hwMonitorInfo 1 }
        
	fanRpmEntry OBJECT-TYPE
        SYNTAX	FanRpmEntry
        ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	"An entry in fanRpmTable."
        INDEX          	{ fanRpmIndex }
        ::= { fanRpmTable 1 }

        FanRpmEntry ::=
           SEQUENCE {
        	fanRpmIndex	INTEGER,
        	fanRpmCurValue	INTEGER,
        	fanRpmMaxValue	INTEGER,
        	fanRpmMinValue	INTEGER,
        	fanRpmLowThresh	INTEGER,
        	fanRpmDescr	DisplayString
           }

        fanRpmIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"Index of FAN."
        ::= { fanRpmEntry 1 }

        fanRpmCurValue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"Current speed in Revolutions Per Minute (RPM) on the fan."
        ::= { fanRpmEntry 2 }

        fanRpmMaxValue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"Maximum speed measured in Revolutions Per Minute (RPM) on the fan."
        ::= { fanRpmEntry 3 }
        
        fanRpmMinValue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"Minimum speed measured in Revolutions Per Minute (RPM) on the fan."
        ::= { fanRpmEntry 4 }

        fanRpmLowThresh OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The minimum speed at which a normal fan should work."
        ::= { fanRpmEntry 5 }

        fanRpmDescr OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"'Normal' indicates that this fan is functioning above the minimum speed. 
                      	'Error' indicates that this fan is functioning below the minimum speed."
        ::= { fanRpmEntry 6 }

-- tempTable

        tempTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF TempEntry
        ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { hwMonitorInfo 2 }
        
	tempEntry OBJECT-TYPE
        SYNTAX	TempEntry
        ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	"An entry in tempTable."
        INDEX          	{ tempIndex }
        ::= { tempTable 1 }

        TempEntry ::=
           SEQUENCE {
        	tempIndex	INTEGER,
        	tempCurValue	INTEGER,
        	tempMaxValue	INTEGER,
        	tempMinValue	INTEGER,
        	tempHighThresh	INTEGER,
        	tempDescr	DisplayString
           }

        tempIndex OBJECT-TYPE
        SYNTAX  INTEGER {
        	mac (1),
        	cpu (2),
        	phy (3)
        }
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"Index of temperature unit. 1:MAC, 2:CPU, 3:PHY"
        ::= { tempEntry 1 }

        tempCurValue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The current temperature measured at this sensor."
        ::= { tempEntry 2 }

        tempMaxValue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The maximum temperature measured at this sensor."
        ::= { tempEntry 3 }
        
        tempMinValue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The minimum temperature measured at this sensor."
        ::= { tempEntry 4 }

        tempHighThresh OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The upper temperature limit at this sensor."
        ::= { tempEntry 5 }

        tempDescr OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"'Normal' indicates temperatures below the threshold and 'Error' for those above."
        ::= { tempEntry 6 }

-- voltageTable

        voltageTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF VoltageEntry
        ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { hwMonitorInfo 3 }
        
	voltageEntry OBJECT-TYPE
        SYNTAX	VoltageEntry
        ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	"An entry in voltageTable."
        INDEX          	{ voltageIndex }
        ::= { voltageTable 1 }

        VoltageEntry ::=
           SEQUENCE {
        	voltageIndex		INTEGER,
        	voltageCurValue		INTEGER,
        	voltageMaxValue		INTEGER,
        	voltageMinValue		INTEGER,
        	voltageNominalValue	INTEGER,
        	voltageLowThresh	INTEGER,
        	voltageDescr		DisplayString
           }

        voltageIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"Index of voltage."
        ::= { voltageEntry 1 }

        voltageCurValue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The current voltage reading."
        ::= { voltageEntry 2 }

        voltageMaxValue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The maximum voltage measured at this point."
        ::= { voltageEntry 3 }
        
        voltageMinValue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The minimum voltage measured at this point."
        ::= { voltageEntry 4 }

        voltageNominalValue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The normal voltage at wchich the switch work."
        ::= { voltageEntry 5 }

        voltageLowThresh OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The minimum voltage at which the switch should work."
        ::= { voltageEntry 6 }

        voltageDescr OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"'Normal' indicates that the voltage is within an acceptable operating range 
                      	at this point; otherwise 'Error' is displayed."
        ::= { voltageEntry 7 }

-- snmpSetup
	snmpSetup OBJECT IDENTIFIER ::= { gs4024 10 }

        snmpGetCommunity OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { snmpSetup 1 }

        snmpSetCommunity OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { snmpSetup 2 }

        snmpTrapCommunity OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { snmpSetup 3 }

--  snmpTrapDestTable
        snmpTrapDestTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF SnmpTrapDestEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { snmpSetup 4 }
        
	snmpTrapDestEntry OBJECT-TYPE
        SYNTAX	SnmpTrapDestEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in snmpTrapDestTable."
        INDEX          	{ snmpTrapDestIP }
        ::= { snmpTrapDestTable 1 }

        SnmpTrapDestEntry ::=
           SEQUENCE {
        	snmpTrapDestIP	IpAddress,
        	snmpTrapDestRowStatus RowStatus
           }
           
        snmpTrapDestIP OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                      	"IP address of trap destination."
        ::= { snmpTrapDestEntry 1 }
        
        snmpTrapDestRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { snmpTrapDestEntry 2 }

--  dateTimeServerSetup
	dateTimeServerSetup     	OBJECT IDENTIFIER ::= { gs4024 11 }

        dateTimeServerType OBJECT-TYPE
        SYNTAX  INTEGER {
        		none(1),
			daytime(2),
			time(3),
			ntp(4)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "The time service protocol."
        ::= { dateTimeServerSetup 1 }
        
        dateTimeServerIP OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "IP address of time server."
        ::= { dateTimeServerSetup 2 }

        dateTimeZone OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "The time difference between UTC. Ex: +01"
        ::= { dateTimeServerSetup 3 }

        dateTimeNewDateYear OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "The new date in year."
        ::= { dateTimeServerSetup 4 }

        dateTimeNewDateMonth OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "The new date in month."
        ::= { dateTimeServerSetup 5 }

        dateTimeNewDateDay OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "The new date in day."
        ::= { dateTimeServerSetup 6 }
        
        dateTimeNewTimeHour OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "The new time in hour."
        ::= { dateTimeServerSetup 7 }

        dateTimeNewTimeMinute OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "The new time in minute."
        ::= { dateTimeServerSetup 8 }

        dateTimeNewTimeSecond OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "The new time in second."
        ::= { dateTimeServerSetup 9 }

--  sysMgmt
	sysMgmt     	OBJECT IDENTIFIER ::= { gs4024 12 }

        sysMgmtConfigSave OBJECT-TYPE
        SYNTAX  INTEGER {
         		config-1(1),
         		config-2(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "If setting value is given, the variable write index will be set and running-config will be written to the assigned configuration file. 
                      If not, running-config will be written to the booting one."
        ::= { sysMgmt 1 }
        
        sysMgmtBootupConfig OBJECT-TYPE
        SYNTAX  INTEGER {
         		config-1(1),
         		config-2(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "The setting value (read index) will be written into non-volatile memory. 
                      While rebooting, the variable write index is equal to read index initially. 
                      You can change the value of write index by CLI / MIB."
        ::= { sysMgmt 2 }
        
        sysMgmtReboot OBJECT-TYPE
        SYNTAX  INTEGER {
        		nothing(0),
        		reboot(1)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Reboot switch from SNMP. 1:Reboot, 0:Nothing"
        ::= { sysMgmt 3 }

	sysMgmtDefaultConfig OBJECT-TYPE
        SYNTAX  INTEGER {
        		nothing(0),
        		reset-to-default(1)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Erase running config and reset to default."
        ::= { sysMgmt 4 }

	sysMgmtLastActionStatus OBJECT-TYPE
        SYNTAX  INTEGER {
        		none(0),
        		success(1),
        		fail(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "Display status of last mgmt action."
        ::= { sysMgmt 5 }        
        
	sysMgmtSystemStatus OBJECT-TYPE
	SYNTAX	BITS {
		sysAlarmDetected(0),
		sysTemperatureError(1),
		sysFanRPMError(2),
		sysVoltageRangeError(3)
	}
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"This variable indicates the status of the system.
 		The sysMgmtAlarmStatus is a bit map represented
 		a sum, therefore, it can represent multiple defects
 		simultaneously. The sysNoDefect should be set if and only if
 		no other flag is set.
 	
	 	The various bit positions are:
			0   sysAlarmDetected
			1   sysTemperatureError
			2   sysFanRPMError
			3   sysVoltageRangeError"
        ::= { sysMgmt 6 }  
	sysMgmtCPUUsage OBJECT-TYPE
		SYNTAX  INTEGER
		ACCESS  read-only
		STATUS  mandatory
		DESCRIPTION
			"Show device CPU load in %, it's the snapshot of CPU load when 
			getting the values."
		::= { sysMgmt 7 }
        

--  layer2Setup
	layer2Setup     	OBJECT IDENTIFIER ::= { gs4024 13 }

        vlanTypeSetup OBJECT-TYPE
        SYNTAX  INTEGER {
         		dot1Q(1),
         		port-based(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 1 }
        
        igmpSnoopingStateSetup OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 2 }               

        tagVlanPortIsolationState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 3 }

        stpState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 4 }

        igmpFilteringStateSetup OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 5 }
        
        unknownMulticastFrameForwarding OBJECT-TYPE
        SYNTAX  INTEGER {
         	flooding(1),
         	drop(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 6 }               
               
--  ipSetup
	ipSetup     	OBJECT IDENTIFIER ::= { gs4024 14 }
                    
        dnsIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { ipSetup 1 }
        
        defaultMgmt OBJECT-TYPE
        SYNTAX  INTEGER {
        	in-band(0),
        	out-of-band(1)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { ipSetup 2 }	

        defaultGateway OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ipSetup 3 }
	

	outOfBandIpSetup     	OBJECT IDENTIFIER ::= { ipSetup 4 }

        outOfBandIp OBJECT-TYPE
        SYNTAX  IpAddress 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { outOfBandIpSetup 1 }	
	
        outOfBandSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { outOfBandIpSetup 2 }	

        outOfBandGateway OBJECT-TYPE
        SYNTAX  IpAddress 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { outOfBandIpSetup 3 }	

--  inbandIpTable
        maxNumOfInbandIp OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ipSetup 5 }

        inbandIpTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF InbandIpEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { ipSetup 6 }
        
	inbandIpEntry OBJECT-TYPE
        SYNTAX	InbandIpEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in inbandIpTable."
        INDEX          	{ inbandEntryIp, inbandEntrySubnetMask }
        ::= { inbandIpTable 1 }

        InbandIpEntry ::=
	SEQUENCE {
        	inbandEntryIp		IpAddress,
        	inbandEntrySubnetMask	IpAddress,
        	inbandEntryVid		INTEGER,
        	inbandEntryRowStatus	RowStatus
        }

        inbandEntryIp OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { inbandIpEntry 1 }

        inbandEntrySubnetMask OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { inbandIpEntry 2 }


        inbandEntryVid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { inbandIpEntry 3 }

        inbandEntryRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { inbandIpEntry 4 }

--  filterSetup
	filterSetup     	OBJECT IDENTIFIER ::= { gs4024 15 }
	
--  filterTable
       	filterTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF FilterEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { filterSetup 1 }
        
	filterEntry OBJECT-TYPE
        SYNTAX	FilterEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in filterTable."
        INDEX          	{ filterMacAddr, filterVid }
        ::= { filterTable 1 }

        FilterEntry ::=
           SEQUENCE {
         	filterName		DisplayString,
        	filterActionState	INTEGER,
        	filterMacAddr		MacAddress,
        	filterVid		INTEGER,
        	filterRowStatus		RowStatus
           }
       
        filterName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { filterEntry 1 }

        filterActionState OBJECT-TYPE
        SYNTAX  INTEGER {
		discard-source(1),
		discard-destination(2),
		both(3)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { filterEntry 2 }

        filterMacAddr OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { filterEntry 3 }

   	filterVid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { filterEntry 4 }

   	filterRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { filterEntry 5 }

--  mirrorSetup        
	mirrorSetup     	OBJECT IDENTIFIER ::= { gs4024 16 }

--  mirrorState                               
        mirrorState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mirrorSetup 1 }
                                
        mirrorMonitorPort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mirrorSetup 2 }
                                
-- mirrorTable

        mirrorTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF MirrorEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { mirrorSetup 3 }
        
	mirrorEntry OBJECT-TYPE
        SYNTAX	MirrorEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in mirrorTable."
        INDEX          	{ dot1dBasePort }
        ::= { mirrorTable 1 }

        MirrorEntry ::=
           SEQUENCE {
        	mirrorMirroredState	EnabledStatus,
        	mirrorDirection		INTEGER
           }

        mirrorMirroredState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mirrorEntry 1 }

        mirrorDirection OBJECT-TYPE
        SYNTAX  INTEGER {
        	ingress(0),
        	egress(1),
        	both(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mirrorEntry 2 }


-- aggrSetup
	aggrSetup     	OBJECT IDENTIFIER ::= { gs4024 17 }
                               
        aggrState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { aggrSetup 1 }
                                
        aggrSystemPriority OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { aggrSetup 2 }
                             
-- aggrGroupTable

        aggrGroupTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF AggrGroupEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { aggrSetup 3 }
        
	aggrGroupEntry OBJECT-TYPE
        SYNTAX	AggrGroupEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in aggrGroupTable."
        INDEX          	{ aggrGroupIndex }
        ::= { aggrGroupTable 1 }

        AggrGroupEntry ::=
           SEQUENCE {
        	aggrGroupIndex		INTEGER,
        	aggrGroupState		EnabledStatus,
        	aggrGroupDynamicState	EnabledStatus
           }

        aggrGroupIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { aggrGroupEntry 1 }

        aggrGroupState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { aggrGroupEntry 2 }

        aggrGroupDynamicState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { aggrGroupEntry 3 }

-- aggrPortTable

        aggrPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF AggrPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { aggrSetup 4 }
        
	aggrPortEntry OBJECT-TYPE
        SYNTAX	AggrPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in aggrPortTable."
        INDEX          	{ dot1dBasePort }
        ::= { aggrPortTable 1 }

        AggrPortEntry ::=
           SEQUENCE {
        	aggrPortGroup			INTEGER,
        	aggrPortDynamicStateTimeout	INTEGER
           }

        aggrPortGroup OBJECT-TYPE
        SYNTAX  INTEGER {
        	none(0),
        	t1(1),
        	t2(2),
        	t3(3),
        	t4(4),
        	t5(5),
        	t6(6)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { aggrPortEntry 1 }

        aggrPortDynamicStateTimeout OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { aggrPortEntry 2 }


-- accessCtlSetup
	accessCtlSetup     	OBJECT IDENTIFIER ::= { gs4024 18 }
                                                            
-- accessCtlTable

        accessCtlTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF AccessCtlEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { accessCtlSetup 1 }
        
	accessCtlEntry OBJECT-TYPE
        SYNTAX	AccessCtlEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in accessCtlTable."
        INDEX          	{ accessCtlService }
        ::= { accessCtlTable 1 }

        AccessCtlEntry ::=
           SEQUENCE {
        	accessCtlService	INTEGER,
        	accessCtlEnable	EnabledStatus,
        	accessCtlServicePort	INTEGER,
        	accessCtlTimeout	INTEGER
           }

        accessCtlService OBJECT-TYPE
        SYNTAX  INTEGER {
        	telnet(1),
        	ssh(2),
        	ftp(3),
        	http(4),
        	https(5),
        	icmp(6),
        	snmp(7)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { accessCtlEntry 1 }

        accessCtlEnable OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { accessCtlEntry 2 }

        accessCtlServicePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { accessCtlEntry 3 }

        accessCtlTimeout OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { accessCtlEntry 4 }

--  securedClientTable
        securedClientTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF SecuredClientEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { accessCtlSetup 2 }
        
	securedClientEntry OBJECT-TYPE
        SYNTAX	SecuredClientEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in securedClientTable."
        INDEX          	{ securedClientIndex }
        ::= { securedClientTable 1 }

        SecuredClientEntry ::=
           SEQUENCE {
           	securedClientIndex	INTEGER,
           	securedClientEnable	EnabledStatus,
        	securedClientStartIp	IpAddress,
        	securedClientEndIp	IpAddress,
        	securedClientService	BITS
           }

        securedClientIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { securedClientEntry 1 }

        securedClientEnable OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { securedClientEntry 2 }

        securedClientStartIp OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { securedClientEntry 3 }

        securedClientEndIp OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { securedClientEntry 4 }

        securedClientService OBJECT-TYPE
        SYNTAX	BITS {
			telnet(0),
			ftp(1),
			http(2),
			icmp(3),
			snmp(4),
			ssh(5),
			https(6)
		}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { securedClientEntry 5 }
--  queuingMethodSetup
	queuingMethodSetup     	OBJECT IDENTIFIER ::= { gs4024 19 }

-- portQueuingMethodTable
        portQueuingMethodTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF PortQueuingMethodEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { queuingMethodSetup 1 }
        
	portQueuingMethodEntry OBJECT-TYPE
        SYNTAX	PortQueuingMethodEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in portQueuingMethodTable."
        INDEX          	{ dot1dBasePort, portQueuingMethodQueue }
        ::= { portQueuingMethodTable 1 }

        PortQueuingMethodEntry ::=
           SEQUENCE {
        	portQueuingMethodQueue	INTEGER,
        	portQueuingMethodWeight	INTEGER,
        	portQueuingMethodMode	INTEGER        	
           }

        portQueuingMethodQueue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	"0...7"
        ::= { portQueuingMethodEntry 1 }

        portQueuingMethodWeight OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	"0...15"
        ::= { portQueuingMethodEntry 2 }

        portQueuingMethodMode OBJECT-TYPE
        SYNTAX  INTEGER {
        	strictly-priority(0),
        	weighted-round-robin(1)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { portQueuingMethodEntry 3 }


--  dhcpSetup
	dhcpSetup     	OBJECT IDENTIFIER ::= { gs4024 20 }

        dhcpRelay OBJECT IDENTIFIER ::= { dhcpSetup 1 }
        
        dhcpRelayEnable OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpRelay 1 }

        dhcpRelayOption82Enable OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpRelay 2 }

        dhcpRelayInfoEnable OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpRelay 3 }

        dhcpRelayInfoData OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpRelay 4 }

--  dhcpRemoteServer

        maxNumberOfDhcpRemoteServer OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpRelay 5 }

-- dhcpRemoteServerTable
        dhcpRemoteServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF DhcpRemoteServerEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { dhcpRelay 6 }
        
	dhcpRemoteServerEntry OBJECT-TYPE
        SYNTAX	DhcpRemoteServerEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in dhcpRemoteServerTable."
        INDEX          	{ dhcpRemoteServerIp }
        ::= { dhcpRemoteServerTable 1 }

        DhcpRemoteServerEntry ::=
           SEQUENCE {
        	dhcpRemoteServerIp		IpAddress,
        	dhcpRemoteServerRowStatus	RowStatus
           }

        dhcpRemoteServerIp OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpRemoteServerEntry 1 }

        dhcpRemoteServerRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { dhcpRemoteServerEntry 2 }


--  
	dhcpServer OBJECT IDENTIFIER ::= { dhcpSetup 2 }
	
        maxNumberOfDhcpServers OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpServer 1 }

-- dhcpServerTable
        dhcpServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF DhcpServerEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { dhcpServer 2 }
        
	dhcpServerEntry OBJECT-TYPE
        SYNTAX	DhcpServerEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in dhcpServerTable."
        INDEX          	{ dhcpServerVid }
        ::= { dhcpServerTable 1 }

        DhcpServerEntry ::=
           SEQUENCE {
        	dhcpServerVid		INTEGER,
        	dhcpServerStartAddr	IpAddress,
        	dhcpServerPoolSize	INTEGER,
        	dhcpServerMask		IpAddress,
        	dhcpServerGateway	IpAddress,
        	dhcpServerPrimaryDNS 	IpAddress,
        	dhcpServerSecondaryDNS	IpAddress,
        	dhcpServerRowStatus	RowStatus
           }

        dhcpServerVid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpServerEntry 1 }
                        
        dhcpServerStartAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { dhcpServerEntry 2 }        
        
        dhcpServerPoolSize OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { dhcpServerEntry 3 }    
        
        dhcpServerMask OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { dhcpServerEntry 4 }            

        dhcpServerGateway OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { dhcpServerEntry 5 }            
        
        dhcpServerPrimaryDNS OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { dhcpServerEntry 6 }           
        
        dhcpServerSecondaryDNS OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { dhcpServerEntry 7 }                  

        dhcpServerRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { dhcpServerEntry 8 }

--  staticRouteSetup
	staticRouteSetup     	OBJECT IDENTIFIER ::= { gs4024 21 }

        maxNumberOfStaticRoutes OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { staticRouteSetup 1 }

-- staticRouteTable
        staticRouteTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF StaticRouteEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { staticRouteSetup 2 }
        
	staticRouteEntry OBJECT-TYPE
        SYNTAX	StaticRouteEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in staticRouteTable."
        INDEX          	{ staticRouteIp, staticRouteMask }
        ::= { staticRouteTable 1 }

        StaticRouteEntry ::=
           SEQUENCE {
           	staticRouteName		DisplayString,
        	staticRouteIp		IpAddress,
        	staticRouteMask		IpAddress,
        	staticRouteGateway	IpAddress,
        	staticRouteMetric	INTEGER,
        	staticRouteRowStatus	RowStatus
           }

        staticRouteName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { staticRouteEntry 1 }

        staticRouteIp OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { staticRouteEntry 2 }

        staticRouteMask OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { staticRouteEntry 3 }
        
        staticRouteGateway OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { staticRouteEntry 4 }
        
        staticRouteMetric OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { staticRouteEntry 5 }

        staticRouteRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { staticRouteEntry 6 }

--  arpInfo
	arpInfo     	OBJECT IDENTIFIER ::= { gs4024 22 }
	
--  arpTable
      	arpTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ArpEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { arpInfo 1 }
        
		arpEntry OBJECT-TYPE
        SYNTAX	ArpEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in arpTable."
        INDEX          	{ arpIpAddr, arpMacVid }
        ::= { arpTable 1 }

        ArpEntry ::=
           SEQUENCE {
           	arpIndex	INTEGER,
        	arpIpAddr	IpAddress,
        	arpMacAddr	MacAddress,
        	arpMacVid	INTEGER,
        	arpType		INTEGER
           }

        arpIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpEntry 1 }
        
        arpIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpEntry 2 }

        arpMacAddr OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpEntry 3 }

        arpMacVid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpEntry 4 }

        arpType OBJECT-TYPE
        SYNTAX  INTEGER {
        	static(1),
        	dynamic(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	"1-static, 2-dynamic"
        ::= { arpEntry 5 }


-- portOpModeSetup
	portOpModeSetup     	OBJECT IDENTIFIER ::= { gs4024 23 }
                                                            
-- portOpModePortTable 

        portOpModePortTable  OBJECT-TYPE
        SYNTAX	SEQUENCE OF PortOpModePortEntry 
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { portOpModeSetup 1 }
        
	portOpModePortEntry  OBJECT-TYPE
        SYNTAX	PortOpModePortEntry 
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in portOpModePortTable."
        INDEX          	{ dot1dBasePort }
        ::= { portOpModePortTable 1 }

        PortOpModePortEntry ::=
           SEQUENCE {
        	portOpModePortSpeedDuplex	INTEGER,
        	portOpModePortFlowCntl	INTEGER,
        	portOpModePortName	OCTET STRING,
        	portOpModePortModuleType	INTEGER,
        	portOpModePortLinkUpType	INTEGER,
        	portOpModePortIntrusionLock	EnabledStatus,
        	portOpModePortLBTestStatus	INTEGER        	
           }

        portOpModePortSpeedDuplex OBJECT-TYPE
        SYNTAX  INTEGER {
        	auto(0),
        	speed-10-half(1),
        	speed-10-full(2),
        	speed-100-half(3),
        	speed-100-full(4),
        	speed-1000-full(5)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { portOpModePortEntry 1 }

        portOpModePortFlowCntl OBJECT-TYPE
        SYNTAX  INTEGER {
        	off(0),
        	on(1)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { portOpModePortEntry 2 }

        portOpModePortName  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { portOpModePortEntry 3 }
        portOpModePortModuleType  OBJECT-TYPE
        SYNTAX  INTEGER {
        	fast-ethernet-10-100(0),
        	gigabit-ethernet-100-1000(1),
        	fiber-1000(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { portOpModePortEntry 4 }

        portOpModePortLinkUpType  OBJECT-TYPE
        SYNTAX  INTEGER {
        	down(0),
        	copper(1),
        	fiber(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { portOpModePortEntry 5 }

	portOpModePortIntrusionLock OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { portOpModePortEntry 6 }

   portOpModePortLBTestStatus OBJECT-TYPE
        SYNTAX  INTEGER {
        	none(0),
        	underTesting(1),
        	success(2),
        	fail(3)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "This entry display latest loopback test status of port while performing loopback test."
        ::= { portOpModePortEntry 7 }


-- portBasedVlanSetup
	portBasedVlanSetup     	OBJECT IDENTIFIER ::= { gs4024 24 }
                                                            
-- portBasedVlanPortListTable 

        portBasedVlanPortListTable  OBJECT-TYPE
        SYNTAX	SEQUENCE OF PortBasedVlanPortListEntry 
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { portBasedVlanSetup 1 }
        
	portBasedVlanPortListEntry  OBJECT-TYPE
        SYNTAX	PortBasedVlanPortListEntry 
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in portBasedVlanPortListTable."
        INDEX          	{ dot1dBasePort }
        ::= { portBasedVlanPortListTable 1 }

        PortBasedVlanPortListEntry ::=
           SEQUENCE {
        	portBasedVlanPortListMembers	PortList
           }

        portBasedVlanPortListMembers OBJECT-TYPE
        SYNTAX  PortList
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { portBasedVlanPortListEntry 1 }

--  multicastPortSetup
	multicastPortSetup     	OBJECT IDENTIFIER ::= { gs4024 25 }
	
        multicastPortTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF MulticastPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { multicastPortSetup 1 }
        
	multicastPortEntry OBJECT-TYPE
        SYNTAX	MulticastPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in multicastPortTable."
        INDEX          	{ dot1dBasePort }
        ::= { multicastPortTable 1 }

        MulticastPortEntry ::=
	SEQUENCE {
        	multicastPortImmediateLeave		EnabledStatus,
        	multicastPortMaxGroupLimited		EnabledStatus,
        	multicastPortMaxOfGroup			INTEGER,
        	multicastPortIgmpFilteringProfile	DisplayString
        }

        multicastPortImmediateLeave OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { multicastPortEntry 1 }

        multicastPortMaxGroupLimited OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { multicastPortEntry 2 }

        multicastPortMaxOfGroup OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"0..255"
        ::= { multicastPortEntry 3 }
        
        multicastPortIgmpFilteringProfile OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { multicastPortEntry 4 }

-- multicastStatus
	multicastStatus    	OBJECT IDENTIFIER ::= { gs4024 26 }

        multicastStatusTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF MulticastStatusEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { multicastStatus 1 }
        
	multicastStatusEntry OBJECT-TYPE
        SYNTAX	MulticastStatusEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in multicastStatusTable."
        INDEX          	{ multicastStatusVlanID, multicastStatusPort, multicastStatusGroup }
        ::= { multicastStatusTable 1 }

        MulticastStatusEntry ::=
	SEQUENCE {
        	multicastStatusIndex    INTEGER,
        	multicastStatusVlanID	INTEGER,
        	multicastStatusPort	INTEGER,
        	multicastStatusGroup	IpAddress
         }

        multicastStatusIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { multicastStatusEntry 1 }

        multicastStatusVlanID OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { multicastStatusEntry 2 }

        multicastStatusPort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { multicastStatusEntry 3 }

        multicastStatusGroup OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { multicastStatusEntry 4 }
	
--  igmpFilteringProfileSetup
	igmpFilteringProfileSetup     	OBJECT IDENTIFIER ::= { gs4024 27 }
	
	igmpFilteringMaxNumberOfProfile OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpFilteringProfileSetup 1 }
	
        igmpFilteringProfileTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF IgmpFilteringProfileEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { igmpFilteringProfileSetup 2 }
        
	igmpFilteringProfileEntry OBJECT-TYPE
        SYNTAX	IgmpFilteringProfileEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in igmpFilteringProfileTable."
        INDEX          	{ igmpFilteringProfileName, igmpFilteringProfileStartAddress, igmpFilteringProfileEndAddress }
        ::= { igmpFilteringProfileTable 1 }

        IgmpFilteringProfileEntry ::=
	SEQUENCE {
        	igmpFilteringProfileName		DisplayString,
        	igmpFilteringProfileStartAddress	IpAddress,
        	igmpFilteringProfileEndAddress		IpAddress,
        	igmpFilteringProfileRowStatus		RowStatus
        }

        igmpFilteringProfileName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpFilteringProfileEntry 1 }

        igmpFilteringProfileStartAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpFilteringProfileEntry 2 }

        igmpFilteringProfileEndAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpFilteringProfileEntry 3 }
        
        igmpFilteringProfileRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpFilteringProfileEntry 4 }

--  MVRSetup
	mvrSetup     	OBJECT IDENTIFIER ::= { gs4024 28 }
	
	maxNumberOfMVR OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mvrSetup 1 }
	
        mvrTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF MvrEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { mvrSetup 2 }
        
	mvrEntry OBJECT-TYPE
        SYNTAX	MvrEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in mvrTable."
        INDEX          	{ mvrVlanID }
        ::= { mvrTable 1 }

        MvrEntry ::=
	SEQUENCE {
        	mvrVlanID	INTEGER,
        	mvrName		DisplayString,
        	mvrMode		INTEGER,
        	mvrRowStatus	RowStatus
        }

        mvrVlanID OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	"1..4094"
        ::= { mvrEntry 1 }

        mvrName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mvrEntry 2 }

        mvrMode OBJECT-TYPE
        SYNTAX  INTEGER {
        	dynamic(0),
        	compatible(1)
        	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mvrEntry 3 }
        
        mvrRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mvrEntry 4 }

        mvrPortTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF MvrPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { mvrSetup 3 }
        
	mvrPortEntry OBJECT-TYPE
        SYNTAX	MvrPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in mvrPortTable."
        INDEX          	{ mvrVlanID, dot1dBasePort }
        ::= { mvrPortTable 1 }

        MvrPortEntry ::=
	SEQUENCE {
        	mvrPortRole	INTEGER,
        	mvrPortTagging	EnabledStatus
        }

        mvrPortRole OBJECT-TYPE
        SYNTAX  INTEGER {
        	none(1),
        	source-port(2),
        	receiver-port(3)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mvrPortEntry 1 }

        mvrPortTagging OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mvrPortEntry 2 }

	maxNumberOfMvrGroup OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mvrSetup 4 }
	
        mvrGroupTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF MvrGroupEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { mvrSetup 5 }
        
	mvrGroupEntry OBJECT-TYPE
        SYNTAX	MvrGroupEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in mvrGroupTable."
        INDEX          	{ mvrVlanID, mvrGroupName }
        ::= { mvrGroupTable 1 }

        MvrGroupEntry ::=
	SEQUENCE {
        	mvrGroupName		DisplayString,
        	mvrGroupStartAddress	IpAddress,
        	mvrGroupEndAddress	IpAddress,
        	mvrGroupRowStatus	RowStatus
        }

        mvrGroupName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mvrGroupEntry 1 }

        mvrGroupStartAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mvrGroupEntry 2 }

        mvrGroupEndAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mvrGroupEntry 3 }
        
        mvrGroupRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mvrGroupEntry 4 }


-- layer3Setup
	layer3Setup     	OBJECT IDENTIFIER ::= { gs4024 29 }

        routerRipState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer3Setup 1 }
        
        routerIgmpState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer3Setup 2 }
        
        routerDvmrpState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer3Setup 3 }

        routerDvmrpThreshold OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer3Setup 4 }

-- routerIpmcPortTable
	routerIpmcPortSetup     	OBJECT IDENTIFIER ::= { gs4024 30 }

        routerIpmcPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF RouterIpmcPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { routerIpmcPortSetup 1 }
        
	routerIpmcPortEntry OBJECT-TYPE
        SYNTAX	RouterIpmcPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in routerIpmcPortTable."
        INDEX          	{ dot1dBasePort }
        ::= { routerIpmcPortTable 1 }

        RouterIpmcPortEntry ::=
           SEQUENCE {
        	routerIpmcPortEgressUntagVlan	INTEGER
           }

        routerIpmcPortEgressUntagVlan OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerIpmcPortEntry 1 }

-- routerVrrpSetup
	routerVrrpSetup     	OBJECT IDENTIFIER ::= { gs4024 31 }

        routerVrrpMaxNumber OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "Always set it as 14."
        ::= { routerVrrpSetup 1 }

-- routerVrrpTable
        routerVrrpTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF RouterVrrpEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { routerVrrpSetup 2 }
        
	routerVrrpEntry OBJECT-TYPE
        SYNTAX	RouterVrrpEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in routerVrrpTable."
        INDEX          	{ routerDomainIpAddress, routerDomainIpMaskBits, routerVrrpVirtualID, routerVrrpUplinkGateway }
        ::= { routerVrrpTable 1 }

        RouterVrrpEntry ::=
           SEQUENCE {
        	routerVrrpVirtualID		INTEGER,
        	routerVrrpUplinkGateway		IpAddress,
        	routerVrrpPreempt		EnabledStatus,
        	routerVrrpInterval		INTEGER,
        	routerVrrpPriority		INTEGER,
        	routerVrrpPrimaryVirtualIP	IpAddress,
        	routerVrrpName			DisplayString,
        	routerVrrpSecondaryVirtualIP	IpAddress,
        	rpVrrpRowStatus			RowStatus
           }

        routerVrrpVirtualID OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpEntry 1 }

        routerVrrpUplinkGateway OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpEntry 2 }

        routerVrrpPreempt OBJECT-TYPE
        SYNTAX  EnabledStatus 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpEntry 3 }

        routerVrrpInterval OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"1-255"
        ::= { routerVrrpEntry 4 }

        routerVrrpPriority OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"1-254"
        ::= { routerVrrpEntry 5 }

        routerVrrpPrimaryVirtualIP OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpEntry 6 }

        routerVrrpName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpEntry 7 }

        routerVrrpSecondaryVirtualIP OBJECT-TYPE
        SYNTAX	IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpEntry 8 }

        rpVrrpRowStatus OBJECT-TYPE
        SYNTAX	RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpEntry 9 }

-- routerVrrpDomainTable
        routerVrrpDomainTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF RouterVrrpDomainEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { routerVrrpSetup 3 }
        
	routerVrrpDomainEntry OBJECT-TYPE
        SYNTAX	RouterVrrpDomainEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in routerVrrpTable."
        INDEX          	{ routerDomainIpAddress, routerDomainIpMaskBits}
        ::= { routerVrrpDomainTable 1 }

        RouterVrrpDomainEntry ::=
           SEQUENCE {
        	routerVrrpAuthType		INTEGER,
        	routerVrrpAuthKey		DisplayString
           }

        routerVrrpAuthType OBJECT-TYPE
        SYNTAX  INTEGER {
		none(0),
		simple(1)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpDomainEntry 1 }

        routerVrrpAuthKey OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpDomainEntry 2 }

-- routerVrrpStatus
	routerVrrpStatus     	OBJECT IDENTIFIER ::= { gs4024 32 }
		
        routerVrrpStatusTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF RouterVrrpStatusEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { routerVrrpStatus 1 }
        
	routerVrrpStatusEntry OBJECT-TYPE
        SYNTAX	RouterVrrpStatusEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	" "
        INDEX          	{ routerVrrpStatusIpAddress, routerVrrpStatusIpMaskBits, routerVrrpStatusVirtualID }
        ::= { routerVrrpStatusTable 1 }

        RouterVrrpStatusEntry ::=
           SEQUENCE {
        	routerVrrpStatusIpAddress	IpAddress,
        	routerVrrpStatusIpMaskBits	INTEGER,
        	routerVrrpStatusVirtualID	INTEGER,
        	routerVrrpStatusVRStatus	DisplayString,
        	routerVrrpStatusUpLinkStatus	DisplayString
        	
           }

        routerVrrpStatusIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpStatusEntry 1 }

        routerVrrpStatusIpMaskBits OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpStatusEntry 2 }

        routerVrrpStatusVirtualID OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpStatusEntry 3 }
        
        routerVrrpStatusVRStatus OBJECT-TYPE
        SYNTAX  DisplayString 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpStatusEntry 4 }        

        routerVrrpStatusUpLinkStatus OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerVrrpStatusEntry 5 }

-- routerDomainSetup
	routerDomainSetup     	OBJECT IDENTIFIER ::= { gs4024 33 }

-- routerDomainTable
        routerDomainTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF RouterDomainEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { routerDomainSetup 1 }
        
	routerDomainEntry OBJECT-TYPE
        SYNTAX	RouterDomainEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in routerDomainTable."
        INDEX          	{ routerDomainIpAddress, routerDomainIpMaskBits }
        ::= { routerDomainTable 1 }

        RouterDomainEntry ::=
           SEQUENCE {
        	routerDomainIpAddress		IpAddress,
        	routerDomainIpMaskBits		INTEGER,
        	routerDomainVid			INTEGER
           }

        routerDomainIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerDomainEntry 1 }

        routerDomainIpMaskBits OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerDomainEntry 2 }

        routerDomainVid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerDomainEntry 3 }

-- routerDomainIpTable
        routerDomainIpTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF RouterDomainIpEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { routerDomainSetup 2 }
        
	routerDomainIpEntry OBJECT-TYPE
        SYNTAX	RouterDomainIpEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in routerDomainIpTable."
        INDEX          	{ routerDomainIpAddress, routerDomainIpMaskBits }
        ::= { routerDomainIpTable 1 }

        RouterDomainIpEntry ::=
           SEQUENCE {
        	routerDomainIpRipDirection	INTEGER,
        	routerDomainIpRipVersion	INTEGER,
        	routerDomainIpIgmpVersion	INTEGER,
        	routerDomainIpDvmrp		EnabledStatus
           }

        routerDomainIpRipDirection OBJECT-TYPE
        SYNTAX  INTEGER {
		none(0),
		outgoing(1),
		incoming(2),
		both(3)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerDomainIpEntry 1 }

        routerDomainIpRipVersion OBJECT-TYPE
        SYNTAX  INTEGER {
		v1(0),
		v2b(1),
		v2m(2)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerDomainIpEntry 2 }

        routerDomainIpIgmpVersion OBJECT-TYPE
        SYNTAX  INTEGER {
        	none(0),
        	igmp-v1(1),
        	igmp-v2(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerDomainIpEntry 3 }

        routerDomainIpDvmrp OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routerDomainIpEntry 4 }

        
-- diffservSetup
	diffservSetup     	OBJECT IDENTIFIER ::= { gs4024 34 }

        diffservState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { diffservSetup 1 }
        
-- diffservMapTable
        diffservMapTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF DiffservMapEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { diffservSetup 2 }
        
	diffservMapEntry OBJECT-TYPE
        SYNTAX	DiffservMapEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in diffservMapTable."
        INDEX          	{ diffservMapDscp }
        ::= { diffservMapTable 1 }

        DiffservMapEntry ::=
           SEQUENCE {
        	diffservMapDscp		INTEGER,
        	diffservMapPriority	INTEGER
           }

        diffservMapDscp OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	"0-63"
        ::= { diffservMapEntry 1 }

        diffservMapPriority OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"0-7"
        ::= { diffservMapEntry 2 }

-- diffservPortTable
        diffservPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF DiffservPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { diffservSetup 3 }
        
	diffservPortEntry OBJECT-TYPE
        SYNTAX	DiffservPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in diffservPortTable."
        INDEX          	{ dot1dBasePort }
        ::= { diffservPortTable 1 }

        DiffservPortEntry ::=
           SEQUENCE {
        	diffservPortState	EnabledStatus
           }

        diffservPortState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { diffservPortEntry 1 }

-- clusterSetup
	clusterSetup     	OBJECT IDENTIFIER ::= { gs4024 35 }
	
-- clusterManager
	clusterManager     	OBJECT IDENTIFIER ::= { clusterSetup 1 }

        clusterMaxNumOfManager OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { clusterManager 1 }
        
-- clusterManagerTable
        clusterManagerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ClusterManagerEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { clusterManager 2 }
        
	clusterManagerEntry OBJECT-TYPE
        SYNTAX	ClusterManagerEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in clusterManagerTable."
        INDEX          	{ clusterManagerVid }
        ::= { clusterManagerTable 1 }

        ClusterManagerEntry ::=
           SEQUENCE {
        	clusterManagerVid	INTEGER,
        	clusterManagerName	DisplayString,
        	clusterManagerRowStatus	RowStatus
           }

        clusterManagerVid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterManagerEntry 1 }

        clusterManagerName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterManagerEntry 2 }

        clusterManagerRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterManagerEntry 3 }

-- clusterMembers
	clusterMembers     	OBJECT IDENTIFIER ::= { clusterSetup 2 }

        clusterMaxNumOfMember OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { clusterMembers 1 }
        
-- clusterMemberTable
        clusterMemberTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ClusterMemberEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { clusterMembers 2 }
        
	clusterMemberEntry OBJECT-TYPE
        SYNTAX	ClusterMemberEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in clusterMemberTable."
        INDEX          	{ clusterMemberMac, clusterMemberPassword }
        ::= { clusterMemberTable 1 }

        ClusterMemberEntry ::=
           SEQUENCE {
        	clusterMemberMac	DisplayString,
        	clusterMemberName	DisplayString,
        	clusterMemberModel	DisplayString,
        	clusterMemberPassword	DisplayString,
        	clusterMemberRowStatus	RowStatus
           }

        clusterMemberMac OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterMemberEntry 1 }

        clusterMemberName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterMemberEntry 2 }

        clusterMemberModel OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterMemberEntry 3 }

        clusterMemberPassword OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterMemberEntry 4 }
        
        clusterMemberRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterMemberEntry 5 }
        
-- clusterCandidates
	clusterCandidates     	OBJECT IDENTIFIER ::= { clusterSetup 3 }
        
-- clusterCandidateTable
        clusterCandidateTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ClusterCandidateEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { clusterCandidates 1 }
        
	clusterCandidateEntry OBJECT-TYPE
        SYNTAX	ClusterCandidateEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in clusterCandidateTable."
        INDEX          	{ clusterCandidateMac }
        ::= { clusterCandidateTable 1 }

        ClusterCandidateEntry ::=
           SEQUENCE {
        	clusterCandidateMac	DisplayString,
        	clusterCandidateName	DisplayString,
        	clusterCandidateModel	DisplayString
           }

        clusterCandidateMac OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterCandidateEntry 1 }

        clusterCandidateName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterCandidateEntry 2 }

        clusterCandidateModel OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterCandidateEntry 3 }

-- clusterStatus
	clusterStatus     	OBJECT IDENTIFIER ::= { clusterSetup 4 }

        clusterStatusRole OBJECT-TYPE
        SYNTAX  INTEGER {
        	none(0),
        	manager(1),
        	member(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterStatus 1 }

        clusterStatusManager OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterStatus 2 }

        clsuterStatusMaxNumOfMember OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterStatus 3 }
        
-- clusterStatusMemberTable
        clusterStatusMemberTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ClusterStatusMemberEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { clusterStatus 4 }
        
	clusterStatusMemberEntry OBJECT-TYPE
        SYNTAX	ClusterStatusMemberEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in clusterStatusMemberTable."
        INDEX          	{ clusterStatusMemberMac }
        ::= { clusterStatusMemberTable 1 }

        ClusterStatusMemberEntry ::=
           SEQUENCE {
        	clusterStatusMemberMac		DisplayString,
        	clusterStatusMemberName		DisplayString,
        	clusterStatusMemberModel	DisplayString,
        	clusterStatusMemberStatus	INTEGER
           }

        clusterStatusMemberMac OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterStatusMemberEntry 1 }

        clusterStatusMemberName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterStatusMemberEntry 2 }

        clusterStatusMemberModel OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterStatusMemberEntry 3 }

        clusterStatusMemberStatus OBJECT-TYPE
        SYNTAX  INTEGER {
        	error(0),
        	online(1),
        	offline(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { clusterStatusMemberEntry 4 }
--fault MIB    
faultMIB MODULE-IDENTITY
    LAST-UPDATED "200411031200Z" -- YYYY/MM/DD, HH/MM
    ORGANIZATION "ZyXEL"
    CONTACT-INFO ""
    DESCRIPTION
            "Fault event table definitions"
    ::= { gs4024 36 }


-- **************************************************************************
-- Local Textual Conventions
-- **************************************************************************

UtcTimeStamp ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
           "Universal Time Coordinated as a 32-bit value that designates
            the number of seconds since Jan 1, 1970 12:00AM."
    SYNTAX  Unsigned32

EventIdNumber ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION
          "This textual convention describes the index that uniquely 
           identifies a fault event type in the entire system. Every fault 
           event type, e.g. link down, has a unique EventIdNumber."
   SYNTAX  Integer32

EventSeverity ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION
          "This textual convention describes the severity of a fault event.
           The decreasing order of severity is shown in the textual 
           convention."
   SYNTAX  INTEGER{
             critical (1),
             major (2),
             minor (3),
             informational (4)
           }

EventServiceAffective ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION
          "This textual convention indicates whether an event is immediately 
           service affecting or not."
   SYNTAX  INTEGER{
   	     noServiceAffected (1),
	     serviceAffected (2)
           }
          

InstanceType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
           "This textual convention describes the type of an instanceId
            associated with each event and by that means specifies how 
            the instanceId variable should be intepreted.
            
            Various instanceId types are specified below to enable fault 
            monitoring for different kind of devices from fixed 
            configuration pizza boxes to multi chassis nodes. All 
            instanceId types may not need to be used in every device 
            type. 
            
            Note also that instanceId semantics are element type dependent
            (e.g. different kind of interface naming conventions may be used)
            and thus instanceId usage may vary from element to element.    
            
    =========================================================================
    Type            Description                                 Example form 
                                                                of InstanceId
    =========================================================================
    unknown    (1)  unknown type                               - Irrelevant-
    -------------------------------------------------------------------------
    node       (2)  Associated with events originating from          1
                    the node. Used for general events that     (Node number)
                    can not be associated with any specific 
                    block. InstanceId value 1 is used for 
                    single node equipment.                                 
    -------------------------------------------------------------------------
    shelf      (3)  Associated with events originating from          1
                    the shelf. In the case of fixed       	(shelf number)
                    configuration devices this type is used 
                    for events that are associated with the
                    physical enclosure, e.g. faults related 
                    to fan etc. InstanceId value 1 is used 
                    for single self equipment.
    -------------------------------------------------------------------------  
    line       (4)  Associated with events originating from
                    physical interfaces or associated 
                    components such as line cards. 
                    InstanceId usage examples for faults 
                    originating from: 
                    - Physical port: Simply port number, e.g. .......1 
    -------------------------------------------------------------------------
    switch     (5)  Associated with events originating from          1
                    from a switch chip or a switch card.      (switch number) 
                    For single switch equipment InstanceId 
                    value 1 is used, for multi swich nodes 
                    InstanceId semantics if for further 
                    study. 
    -------------------------------------------------------------------------
    lsp        (6)  Associated with events originating from          1
                    a particular lsp.                           (lsp index)
                    NOTE: In this case the InstanceName 
                    contains the lsp name and InstanceId 
                    contains lsp index.
    -------------------------------------------------------------------------
    l2Interface(7)  Associated with events originating from        - TBD - 
                    a particular layer 2 interface. Used for
                    layer 2 related events such as L2 control 
                    protocol faults. InstanceId semantics is 
                    for further study. 
    -------------------------------------------------------------------------
    l3Interface(8)  Associated with events originating from        - TBD - 
                    a particular layer 3 interface. Used for
                    layer 3 related events such as L3 control 
                    protocol faults. InstanceId semantics is 
                    for further study.
    -------------------------------------------------------------------------
    rowIndex  (9)   Associated with events reporting about a 
                    'logical' or conceptual table that consists 
                    of rows.  The Instance Id is the index/key
                    for a row in the table.  The format of the 
                    Instance Id will simply be a series of decimal 
                    numbers seperated by a '.':   
    ========================================================================="
    
    SYNTAX  INTEGER {
              unknown (1),
              node (2),
              shelf (3),
              line (4),
              switch (5),
              lsp (6),
              l2Interface(7),
              l3Interface(8),
              rowIndex(9)
            }


-- *****************************************************************************
-- Top level structure of this MIB.
-- *****************************************************************************

eventObjects        OBJECT IDENTIFIER ::= { faultMIB  1 }


-- *****************************************************************************
-- Event Table
-- 
-- Event table reports all currently active fault events. Only normal type of 
-- faults (i.e. faults that are not automatically and immediately cleared) are 
-- present in the event table. Delta faults (i.e. faults that are automatically 
-- cleared) are reported only by using trap messages. 
-- *****************************************************************************

eventTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EventEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of currently active fault events. All faults 
             of normal type regardless of their severity level 
             are recorded in the event table. When a normal 
             type fault is cleared it is deleted from the event 
             table."
    ::= { eventObjects 1 }

eventEntry OBJECT-TYPE
    SYNTAX      EventEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing information about an
             event in the event table."
    INDEX   { eventSeqNum }
    ::= { eventTable 1 }

EventEntry ::=
    SEQUENCE {
      eventSeqNum           Integer32,
      eventEventId          EventIdNumber,
      eventName             DisplayString,
      eventInstanceType     InstanceType,
      eventInstanceId       DisplayString, 
      eventInstanceName     DisplayString, 
      eventSeverity         EventSeverity,
      eventSetTime          UtcTimeStamp, 
      eventDescription      DisplayString,
      eventServAffective    EventServiceAffective  	
   }

eventSeqNum OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This variable represents the sequence number of an event. 
             Sequence number is incremented monotonically starting 
             from 0 until it reaches its maximum and wraps around back 
             to 0.
             
             Sequence number is incremented when 
             - the state of a normal type fault is set on (the same sequence 
             number is present in the events table as well as in the trap 
             that is sent to notify about the fault on event)
             - delta event occurs (sequence number present in trap message)
             - the state of a normal type fault is set off (sequence number 
             present in trap that is sent to notify for clearing)."
    ::= { eventEntry 1 }

eventEventId OBJECT-TYPE
    SYNTAX      EventIdNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This variable represents the event ID which uniquely 
             identifies the event in the entire system."
    ::= { eventEntry 2 }

eventName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..40))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This variable represents the name of the event, for 
             example 'Ethernet Link Down'"
    ::= { eventEntry 3 }

eventInstanceType OBJECT-TYPE
    SYNTAX      InstanceType 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This variable represents the type of InstanceId of a 
             particular event in the event table. In brief 
             the instanceType refers to the type of sub-component
             generating this event in the system, for example 
             switch (5). For more details see the textual 
             conventions section.

             AFFECTS:   eventInstanceId, 
                        eventInstanceName"
    ::= { eventEntry 4 }

eventInstanceId OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This variable represents the InstanceId of a particular 
             event in the event current table. In brief the instanceId 
             refers to the sub-component generating this event in the 
             system, for example '1' for port 1. For more details see 
             the textual conventions section.

             DEPENDS ON:  eventInstanceType"
    ::= { eventEntry 5 }

eventInstanceName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This variable is mainly used to store additional information
             about the sub-component that is generating an event. For 
             example this field may specify what cooling fan is faulty.

             DEPENDS ON:  eventInstanceType"
    ::= { eventEntry 6 }

eventSeverity OBJECT-TYPE
    SYNTAX      EventSeverity
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This variable dictates the urgency of action when a event
             occurs. There are four severity levels - Critical, Major, 
             Minor, and Informational.  Critical events are those, which 
             require immediate operator intervention to prevent/reduce 
             system down time. Major events require quick attention and 
             Minor events possibly require some attention. Informational 
             events indicate the occurrence of events that may need to be 
             investigated."
    ::= { eventEntry 7 }

eventSetTime OBJECT-TYPE
    SYNTAX      UtcTimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This table contains only normal events and this variable 
             represents the time when the event become active, i.e. the 
             number of seconds since Jan 1, 1970 12:00AM."
    ::= { eventEntry 8 }


eventDescription OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This variable contains a description of the event and reasons 
             behind the event. This is a free format alpha-numeric string 
             that is set by the entity generating this event. This variable 
             may be empty if there is no usefull information to report. 
             The maximum length of this string is 255 characters."
    ::= { eventEntry 9 }
    
eventServAffective OBJECT-TYPE
    SYNTAX      EventServiceAffective
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This variable indicates whether the event is service affective or not" 
    ::= { eventEntry 10 }        


-- fault Trap MIB     
faultTrapsMIB MODULE-IDENTITY
    LAST-UPDATED "200411011200Z" -- YYYY/MM/DD, HH/MM
    ORGANIZATION "ZyXEL"
    CONTACT-INFO ""
    DESCRIPTION
            "Fault event trap definitions"
    ::= { gs4024 37 }  
                                                                                          
trapInfoObjects             OBJECT IDENTIFIER ::= { faultTrapsMIB 1}
trapNotifications           OBJECT IDENTIFIER ::= { faultTrapsMIB 2}


-- **************************************************************************
-- Local Textual Conventions
-- **************************************************************************

EventPersistence ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION
          "This textual convention indicates whether the event is delta 
           (automatically and immediately cleared) or normal (not 
           automatically cleared)."
   SYNTAX  INTEGER{
   	     normal (1),
	     delta (2)
           }


-- **************************************************************************
-- Trap information object definitions 
-- **************************************************************************

trapRefSeqNum OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Indicates the former sequence number of a cleared event 
             in the event table. Not intended to read but only used in 
             trap notifications."
    ::= { trapInfoObjects 1 }
    
trapPersistence OBJECT-TYPE
    SYNTAX      EventPersistence
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Indicates whether the event is delta (automatically and 
             immediately cleared) or normal (not automatically cleared). 
             Not intended to read but only used in trap notifications."
    ::= { trapInfoObjects 2 }

trapSenderNodeId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Represents the node ID of the sending network element. If not 
             supported should be set to 0. Not intended to read but only 
             used in trap notifications."
    ::= { trapInfoObjects 3 }


-- ***************************************************************************
-- Trap definitions 
-- ***************************************************************************

eventOnTrap NOTIFICATION-TYPE
         OBJECTS {
                  eventSeqNum,
                  eventEventId,
                  eventName,
                  eventSetTime,
                  eventSeverity,
                  eventInstanceType,
                  eventInstanceId,
                  eventInstanceName,
                  eventServAffective,
                  eventDescription,
                  trapPersistence,
                  trapSenderNodeId, 
                  sysObjectID}
         STATUS current
         DESCRIPTION
           "This trap is used to inform network management system that a delta 
           fault event (events that are automatically cleared) has occured 
           or a normal fault event (not automatically cleared) state has 
           been set on.  
          
           Objects are used as follows:
           - eventSeqNum is the sequence number of the event. For normal 
           type of events must equal to the sequence number of the event 
           in the events table. 
           - eventEventId specifies what fault event has occured.
           - eventName specifies the name of the fault event.
           - eventSetTime indicates when fault event has occured 
           (delta events) or when fault has been set on (normal events).
           - eventSeverity reports the severity level of the event.
           - eventInstanceType indicates what kind of object is faulty.
           - eventInstanceId specifies what instance is faulty.
           - eventInstanceName may contain textual description for 
           the faulty object.
           - eventServAffective specifies whether the event is 
           immediately service affcetive. 
           - eventDescription reports possible additional information about the event. 
           - trapPersistence tells whether this event is a delta or normal event. 
           - trapSenderNodeId specifies the node ID of the sending network element if 
           configuring it is supported for the network element, otherwise 0. 
           - sysObjectID specifies what kind of equipment reports the fault event.
           
           For more information see the eventTable specification"
         ::= { trapNotifications 1 }
         
eventClearedTrap NOTIFICATION-TYPE
         OBJECTS {
                  eventSeqNum,
                  eventEventId,
                  eventSetTime,          
                  eventInstanceType,
                  eventInstanceId,
                  trapRefSeqNum,
                  trapSenderNodeId,
                  sysObjectID}
         STATUS current
         DESCRIPTION
           "This trap is used to inform network management system that a normal 
           type fault event has been cleared (state set off). 
           
           Objects are used as follows:
           - eventSeqNum is the sequence number of the this clearing event. Note that 
           the sequence number of the cleared event is reported in the trapRefSeqNum 
           object. 
           - eventEventId specifies what event has been cleared.
           - eventSetTime indicates when fault event has been cleared.
           - eventInstanceType indicates what kind of object has been 
           faulty.
           - eventInstanceId specifies what instance has been faulty.
           - trapRefSeqNum specifies the sequence number of the cleared event (i.e. 
           the sequence number was assigned for the event in the events table).  
           - trapSenderNodeId specifies the node ID of the sending network element if 
           configuring it is supported for the network element, otherwise 0. 
           - sysObjectID specifies what kind of equipment reports the clearing event.
           
           For more information see the eventTable specification"
         ::= { trapNotifications 2 }



-- ipStatus
	ipStatus    	OBJECT IDENTIFIER ::= { gs4024 38 }

        ipStatusTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF IpStatusEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { ipStatus 1 }
        
	ipStatusEntry OBJECT-TYPE
        SYNTAX	IpStatusEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
        INDEX          	{ ipStatusIPAddress, ipStatusVid}
        ::= { ipStatusTable 1 }

        IpStatusEntry ::=
	SEQUENCE {
        	ipStatusIPAddress	IpAddress,
        	ipStatusVid		INTEGER,
        	ipStatusPort		DisplayString,
        	ipStatusType		INTEGER
         }

        ipStatusIPAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ipStatusEntry 1 }

        ipStatusVid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ipStatusEntry 2 }

        ipStatusPort OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ipStatusEntry 3 }

        ipStatusType OBJECT-TYPE
        SYNTAX  INTEGER{		
			static(1),
			dynamic(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ipStatusEntry 4 }
	

-- routingStatus
	routingStatus    	OBJECT IDENTIFIER ::= { gs4024 39 }

        routingStatusTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF RoutingStatusEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { routingStatus 1 }
        
	routingStatusEntry OBJECT-TYPE
        SYNTAX	RoutingStatusEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
	INDEX          	{ routingStatusDestAddress }
        ::= { routingStatusTable 1 }

        RoutingStatusEntry ::=
	SEQUENCE {
        	routingStatusDestAddress	IpAddress,
        	routingStatusDestMaskbits	INTEGER,
        	routingStatusGateway  		IpAddress,
        	routingStatusInterface		IpAddress,
               	routingStatusMetric   		INTEGER,
                routingStatusType   		INTEGER
        }          
        routingStatusDestAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routingStatusEntry 1 }

        routingStatusDestMaskbits OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routingStatusEntry 2 }

        routingStatusGateway OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routingStatusEntry 3 }

        routingStatusInterface OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routingStatusEntry 4 }

        routingStatusMetric OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routingStatusEntry 5 }
        
        routingStatusType OBJECT-TYPE
        SYNTAX  INTEGER{		
		rip(1),
		bgp(2),
		ospf(3),
		static(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { routingStatusEntry 6 }       

-- ospf ext. table
	ospfExt    	OBJECT IDENTIFIER ::= { gs4024 40 }

-- ospfInterfaceTable
        ospfInterfaceTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF OspfInterfaceEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { ospfExt 1 }
        
	ospfInterfaceEntry OBJECT-TYPE
        SYNTAX	OspfInterfaceEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
	INDEX          	{ ospfIfIpAddress, ospfAddressLessIf }
        ::= { ospfInterfaceTable 1 }

        OspfInterfaceEntry ::=
	SEQUENCE {
        	ospfIfKeyId	INTEGER,
        	ospfIfMaskbits	INTEGER,
        	ospfIfDesignatedRouterID	IpAddress,
        	ospfIfBackupDesignatedRouterID	IpAddress,
            ospfIfNbrCount	INTEGER,
            ospfIfAdjacentNbrCount	INTEGER,
            ospfIfHelloDueTime	DisplayString
        }          
        ospfIfKeyId OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfInterfaceEntry 1 }

        ospfIfMaskbits OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfInterfaceEntry 2 }

        ospfIfDesignatedRouterID OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfInterfaceEntry 3 }

        ospfIfBackupDesignatedRouterID OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfInterfaceEntry 4 }

        ospfIfNbrCount OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfInterfaceEntry 5 }
        
        ospfIfAdjacentNbrCount OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfInterfaceEntry 6 }

        ospfIfHelloDueTime OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfInterfaceEntry 7 }

--  ospfAreaExtTable
        ospfAreaExtTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF OspfAreaExtEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { ospfExt 2 }
        
	ospfAreaExtEntry OBJECT-TYPE
        SYNTAX	OspfAreaExtEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
	INDEX          	{ ospfAreaId }
        ::= { ospfAreaExtTable 1 }

        OspfAreaExtEntry ::=
	SEQUENCE {
        	ospfAreaExtName	DisplayString
        }          
        ospfAreaExtName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfAreaExtEntry 1 }

-- ospfRedistributeRouteTable

        ospfRedistributeRouteTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF OspfRedistributeRouteEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { ospfExt 3 }
        
	ospfRedistributeRouteEntry OBJECT-TYPE
        SYNTAX	OspfRedistributeRouteEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
	INDEX          	{ ospfRedistributeRouteProtocol }
        ::= { ospfRedistributeRouteTable 1 }

        OspfRedistributeRouteEntry ::=
	SEQUENCE {
        	ospfRedistributeRouteProtocol	INTEGER,
        	ospfRedistributeRouteState	EnabledStatus,
        	ospfRedistributeRouteType	INTEGER,
        	ospfRedistributeRouteMetric	INTEGER
        }          
        ospfRedistributeRouteProtocol OBJECT-TYPE
        SYNTAX  INTEGER{		
		rip(1),
		static(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfRedistributeRouteEntry 1 }

        ospfRedistributeRouteState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfRedistributeRouteEntry 2 }

        ospfRedistributeRouteType OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfRedistributeRouteEntry 3 }

        ospfRedistributeRouteMetric OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfRedistributeRouteEntry 4 }

-- ospfNbrExtTable

        ospfNbrExtTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF OspfNbrExtEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { ospfExt 4 }
        
	ospfNbrExtEntry OBJECT-TYPE
        SYNTAX	OspfNbrExtEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
	INDEX          	{ ospfNbrIpAddr, ospfNbrAddressLessIndex }
        ::= { ospfNbrExtTable 1 }

        OspfNbrExtEntry ::=
	SEQUENCE {
        	ospfNbrExtRole	INTEGER,
        	ospfNbrExtDeadtime	DisplayString,
        	ospfNbrExtInterface	IpAddress,
        	ospfNbrExtRXmtL	INTEGER,
        	ospfNbrExtRqstL	INTEGER,
        	ospfNbrExtDBsmL	INTEGER
        }          
        ospfNbrExtRole OBJECT-TYPE
        SYNTAX  INTEGER{		
		dr(1),
		backup(2),
		dr-other(3)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfNbrExtEntry 1 }

        ospfNbrExtDeadtime OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfNbrExtEntry 2 }

        ospfNbrExtInterface OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfNbrExtEntry 3 }

        ospfNbrExtRXmtL OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfNbrExtEntry 4 }

        ospfNbrExtRqstL OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfNbrExtEntry 5 }

        ospfNbrExtDBsmL OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfNbrExtEntry 6 }

-- ospfLsdbExtTable

        ospfLsdbExtTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF OspfLsdbExtEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { ospfExt 5 }
        
	ospfLsdbExtEntry OBJECT-TYPE
        SYNTAX	OspfLsdbExtEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
	INDEX          	{ ospfLsdbAreaId, ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId }
        ::= { ospfLsdbExtTable 1 }

        OspfLsdbExtEntry ::=
	SEQUENCE {
        	ospfLsdbExtLinkCount	INTEGER,
        	ospfLsdbExtRouteAddress	IpAddress,
        	ospfLsdbExtRouteMaskbits	INTEGER
        }          
        ospfLsdbExtLinkCount OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfLsdbExtEntry 1 }

        ospfLsdbExtRouteAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfLsdbExtEntry 2 }

        ospfLsdbExtRouteMaskbits OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfLsdbExtEntry 3 }

-- ospfVirtualLinkTable

        ospfVirtualLinkTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF OspfVirtualLinkEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { ospfExt 6 }
        
	ospfVirtualLinkEntry OBJECT-TYPE
        SYNTAX	OspfVirtualLinkEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
	INDEX          	{ ospfVirtIfAreaId, ospfVirtIfNeighbor }
        ::= { ospfVirtualLinkTable 1 }

        OspfVirtualLinkEntry ::=
	SEQUENCE {
        	ospfVirtualLinkName	DisplayString,
        	ospfVirtualLinkKeyId	INTEGER
        }          
        ospfVirtualLinkName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfVirtualLinkEntry 1 }

        ospfVirtualLinkKeyId OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ospfVirtualLinkEntry 2 }

END
