ZYXEL-ES2108G-MIB DEFINITIONS ::= BEGIN

    IMPORTS    
	enterprises		FROM RFC1155-SMI                                
	
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
	RowStatus, DateAndTime, TruthValue, StorageType, MacAddress
		FROM SNMPv2-TC			-- RFC2579
	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
	Counter, TimeTicks
        FROM RFC1155-SMI
    BridgeId, Timeout
        FROM BRIDGE-MIB			
    IpAddress
        FROM SNMPv2-SMI
        
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    sysObjectID 
        FROM RFC1213-MIB;
        
    	zyxel		OBJECT IDENTIFIER ::= { enterprises 890 }	
	products	OBJECT IDENTIFIER ::= { zyxel 1 }
	accessSwitch  	OBJECT IDENTIFIER ::= { products 5 }	
	esSeries	OBJECT IDENTIFIER ::= { accessSwitch 8 }
	es2108g		OBJECT IDENTIFIER ::= { esSeries 19 }
    

		
--  sysInfo
	sysInfo     	OBJECT IDENTIFIER ::= { es2108g 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 ::= { es2108g 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,
			rateLimitPortIngRate      INTEGER,
			rateLimitPortEgrRate      INTEGER,
			rateLimitPortStateIngress EnabledStatus,
			rateLimitPortStateEgress  EnabledStatus
           }

        rateLimitPortState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Ingress/egress rate limiting enabled/disabled on the port."
        ::= { rateLimitPortEntry 1 }
        
        rateLimitPortIngRate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Ingress rate in Kbit/s.  The range of FE port is between 64 and 100,000. For GE port, the range is between 64 and 1000,000."
        ::= { rateLimitPortEntry 2 }
        
        rateLimitPortEgrRate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Egress rate in Kbit/s.  The range of FE port is between 64 and 100,000. For GE port, the range is between 64 and 1000,000."
        ::= { rateLimitPortEntry 3 }
        
        rateLimitPortStateIngress OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Ingress rate limiting enabled/disabled on the port."
        ::= { rateLimitPortEntry 5 }
        
        rateLimitPortStateEgress OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Egress rate limiting enabled/disabled on the port."
        ::= { rateLimitPortEntry 6 }


-- brLimitSetup
	brLimitSetup OBJECT IDENTIFIER ::= { es2108g 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 {
        	brLimitPortState	EnabledStatus,
		brLimitPortRate		INTEGER
           }

        brLimitPortState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Rate limiting enabled/disabled on the port."
        ::= { brLimitPortEntry 1 }
        
        brLimitPortRate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Allowed rate in in Kbit/s.  The range of FE port is between 64 and 100,000. For GE port, the range is between 64 and 1000,000."
        ::= { brLimitPortEntry 2 }
        
-- portSecuritySetup
	portSecuritySetup OBJECT IDENTIFIER ::= { es2108g 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
                      	"This entry is used to execute MacFreeze action to port.
                      	It's meaningless while reading this entry."
        ::= { portSecuritySetup 3 }

-- vlanTrunkPortTable
	vlanTrunkSetup OBJECT IDENTIFIER ::= { es2108g 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 }

--  dot1xSetup
	dot1xSetup OBJECT IDENTIFIER ::= { es2108g 6 }                               
--  portAuthState                               
        portAuthState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"802.1x port authentication enabled/disabled for the switch."
        ::= { dot1xSetup 3 }
                                
                                
-- portAuthTable

        portAuthTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF PortAuthEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { dot1xSetup 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 }

-- snmpSetup
	snmpSetup OBJECT IDENTIFIER ::= { es2108g 7 }

        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,
        	snmpTrapDestPort	INTEGER,
        	snmpTrapVersion	INTEGER,
        	snmpTrapUserName	DisplayString
        }
           
        snmpTrapDestIP OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	"IP address of trap destination."
        ::= { snmpTrapDestEntry 1 }
        
        snmpTrapDestRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { snmpTrapDestEntry 2 }

snmpTrapDestPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS  mandatory
        DESCRIPTION
                      	"The UDP port of the trap destination."
        ::= { snmpTrapDestEntry 3 }
        
        snmpTrapVersion OBJECT-TYPE
        SYNTAX  INTEGER {
			v1(0),
			v2c(1),
			v3(2)
		}
        MAX-ACCESS read-write
        STATUS  mandatory
        DESCRIPTION
                      	"The SNMP protocol version to send traps."
        ::= { snmpTrapDestEntry 4 }

        snmpTrapUserName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS  mandatory
        DESCRIPTION
                      	"The user name for sending SNMPv3 traps."
        ::= { snmpTrapDestEntry 5 }                        

        snmpVersion OBJECT-TYPE
	SYNTAX 	INTEGER {
			v2c(0),
			v3(1),
			v3v2c(2)
		}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
		"The SNMP version to be used. v3v2c means that the manager 
		can get/set by SNMPv3 and can get by SNMPv2c."
        ::= { snmpSetup 5 }

-- snmpUserTable
	
	snmpUserTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF SnmpUserEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "A table that contains SNMPv3 user information."
    	::= { snmpSetup 6 }

    	snmpUserEntry OBJECT-TYPE
        SYNTAX SnmpUserEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of snmpUserTable."
        INDEX { snmpUserName }
        ::= { snmpUserTable 1 }

   	SnmpUserEntry ::=
        	SEQUENCE {
            		snmpUserName		DisplayString,
            		snmpUserSecurityLevel	INTEGER,
            		snmpUserAuthProtocol	INTEGER,
            		snmpUserPrivProtocol	INTEGER
    	   	} 

	snmpUserName OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The user name."
	::= { snmpUserEntry 1 }

	snmpUserSecurityLevel OBJECT-TYPE
	SYNTAX  INTEGER {
			noAuthNoPriv(0),
			authNoPriv(1),
			authPriv(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The level of security at which SNMP messages can be sent or 
		with which operations are being processed."
	::= { snmpUserEntry 2 }	

	snmpUserAuthProtocol OBJECT-TYPE
	SYNTAX  INTEGER {
			md5(0),
			sha(1)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The type of authentication protocol to be used."
	::= { snmpUserEntry 3 }

	snmpUserPrivProtocol OBJECT-TYPE
	SYNTAX 	INTEGER {
			des(0),
			aes(1)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The type of privacy protocol to be used."
	::= { snmpUserEntry 4 }


--  snmpTrapGroupTable
        snmpTrapGroupTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF SnmpTrapGroupEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { snmpSetup 7 }

	snmpTrapGroupEntry OBJECT-TYPE
        SYNTAX	SnmpTrapGroupEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in snmpTrapGroupTable."
        INDEX          	{ snmpTrapDestIP }
        ::= { snmpTrapGroupTable 1 }

        SnmpTrapGroupEntry ::=
           SEQUENCE {
        	snmpTrapSystemGroup	 BITS,
        	snmpTrapInterfaceGroup	 BITS,
        	snmpTrapAAAGroup  BITS,
        	snmpTrapIPGroup	 BITS,
        	snmpTrapSwitchGroup	 BITS
           }

        snmpTrapSystemGroup OBJECT-TYPE
        	SYNTAX	BITS {
		coldStart(0),
		warmStart(1),
		reset (5),
		timeSync (6),
		intrusionlock(7),
		loopGuard(13)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { snmpTrapGroupEntry 1 }
        
        snmpTrapInterfaceGroup OBJECT-TYPE
               	SYNTAX	BITS {
		linkup(0),
		linkdown(1),
		autonegotiation(2)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { snmpTrapGroupEntry 2 }
        
        snmpTrapAAAGroup OBJECT-TYPE
               	SYNTAX	BITS {
		authentication(0),
		accounting(1)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { snmpTrapGroupEntry 3 }        
        
        snmpTrapIPGroup OBJECT-TYPE
               	SYNTAX	BITS {
		ping(0),
		traceroute(1)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { snmpTrapGroupEntry 4 }                
        
        snmpTrapSwitchGroup OBJECT-TYPE
               	SYNTAX	BITS {
		stp(0),
		mactable(1),
		rmon(2)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { snmpTrapGroupEntry 5 }

--  dateTimeSetup
	dateTimeSetup     	OBJECT IDENTIFIER ::= { es2108g 8 }

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

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

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

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

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

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

        dateTimeNewTimeSecond OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "The new time in second."
        ::= { dateTimeSetup 9 }
 
-- dateTimeDaylightSavingTimeSetup OBJECT-TYPE
	dateTimeDaylightSavingTimeSetup     	OBJECT IDENTIFIER ::= { dateTimeSetup 10 }
	
        daylightSavingTimeState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Daylight saving time service enabled/disabled for the switch."
        ::= { dateTimeDaylightSavingTimeSetup 1 }

        daylightSavingTimeStartDateWeek OBJECT-TYPE
        SYNTAX  INTEGER {
         		first(1),
         		second(2),
         		third(3),
         		fourth(4),
         		last(5)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Daylight saving time service start week."
        ::= { dateTimeDaylightSavingTimeSetup 2 }

        daylightSavingTimeStartDateDay OBJECT-TYPE
        SYNTAX  INTEGER {
         		sunday(0),
         		monday(1),
         		tuesday(2),
         		wednesday(3),
         		thursday(4),
         		friday(5),
         		saturday(6)         		
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Daylight saving time service start day."
        ::= { dateTimeDaylightSavingTimeSetup 3 }

        daylightSavingTimeStartDateMonth OBJECT-TYPE
        SYNTAX  INTEGER {
         		january(1),
         		february(2),
         		march(3),
         		april(4),
         		may(5),
         		june(6),
         		july(7),
         		august(8),
         		september(9),
         		october(10),
         		november(11),
         		december(12)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Daylight saving time service start month."
        ::= { dateTimeDaylightSavingTimeSetup 4 }

        daylightSavingTimeStartDateHour OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Daylight saving time service start time."
        ::= { dateTimeDaylightSavingTimeSetup 5 }

        daylightSavingTimeEndDateWeek OBJECT-TYPE
        SYNTAX  INTEGER {
         		first(1),
         		second(2),
         		third(3),
         		fourth(4),
         		last(5)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Daylight saving time service end week."
        ::= { dateTimeDaylightSavingTimeSetup 6 }

        daylightSavingTimeEndDateDay OBJECT-TYPE
        SYNTAX  INTEGER {
         		sunday(0),
         		monday(1),
         		tuesday(2),
         		wednesday(3),
         		thursday(4),
         		friday(5),
         		saturday(6)         		
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Daylight saving time service end day."
        ::= { dateTimeDaylightSavingTimeSetup 7 }

        daylightSavingTimeEndDateMonth OBJECT-TYPE
        SYNTAX  INTEGER {
         		january(1),
         		february(2),
         		march(3),
         		april(4),
         		may(5),
         		june(6),
         		july(7),
         		august(8),
         		september(9),
         		october(10),
         		november(11),
         		december(12)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Daylight saving time service end month."
        ::= { dateTimeDaylightSavingTimeSetup 8 }

        daylightSavingTimeEndDateHour OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Daylight saving time service end time."
        ::= { dateTimeDaylightSavingTimeSetup 9 } 
 
--  sysMgmt
	sysMgmt     	OBJECT IDENTIFIER ::= { es2108g 9 }

        sysMgmtConfigSave OBJECT-TYPE
        SYNTAX  INTEGER {
         		config(1)
        }
        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)
        }
        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 }        
        
--  layer2Setup
	layer2Setup     	OBJECT IDENTIFIER ::= { es2108g 10 }

        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 }
               
        tagVlanIngressCheckState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 5 }  

        igmpFilteringStateSetup OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 6 }
        
        unknownMulticastFrameForwarding OBJECT-TYPE
        SYNTAX  INTEGER {
         	flooding(1),
         	drop(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 7 }           
        
        multicastGrpHostTimeOut OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { layer2Setup 8 }
        
        multicastGrpLeaveTimeOut OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { layer2Setup 9 }
        
        igmpsnp8021pPriority OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      "Set the 802.1p priority of control messages for igmp-snooping(0~8, 8-No Change)"
        ::= { layer2Setup 10 }

		igmpsnpVlanMode OBJECT-TYPE
        SYNTAX  INTEGER {
         	auto(1),
         	fixed(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 11 }                
        
        
        stpMode OBJECT-TYPE
        SYNTAX  INTEGER {
         	rstp(1),
         	mstp(3)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 12 }                               
        
               
--  igmpsnpVlanTable
        igmpsnpVlanTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF IgmpsnpVlanEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { layer2Setup 13 }
        
	igmpsnpVlanEntry OBJECT-TYPE
        SYNTAX	IgmpsnpVlanEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in IgmpsnpVlanTable."
        INDEX          	{ igmpsnpVid }
        ::= { igmpsnpVlanTable 1 }

        IgmpsnpVlanEntry ::=
           SEQUENCE {
			igmpsnpVid		INTEGER,
        	igmpsnpVlanName	DisplayString,        	
        	igmpsnpVlanRowStatus RowStatus
           }
           
   
        igmpsnpVid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpsnpVlanEntry 1 }        


     igmpsnpVlanName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpsnpVlanEntry 2 }
        
                
        igmpsnpVlanRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= {  igmpsnpVlanEntry 3 }
         
        igmpsnpQuerierMode OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { layer2Setup 14 }
         
--  ipSetup
	ipSetup     	OBJECT IDENTIFIER ::= { es2108g 11 }

        dnsIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { ipSetup 1 }
	
	defaultMgmtIpSetup     	OBJECT IDENTIFIER ::= { ipSetup 2 }

        defaultMgmtIpType OBJECT-TYPE
        SYNTAX  INTEGER {
        	dhcp_client(0),
        	static_ip(1)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { defaultMgmtIpSetup 1 }
        
        defaultMgmtVid OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { defaultMgmtIpSetup 2 }	
	
        defaultMgmtStaticIp OBJECT-TYPE
        SYNTAX  IpAddress 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { defaultMgmtIpSetup 3 }	
	
        defaultMgmtStaticSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { defaultMgmtIpSetup 4 }	

        defaultMgmtStaticGateway OBJECT-TYPE
        SYNTAX  IpAddress 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { defaultMgmtIpSetup 5 }	

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

        mgmtIpTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF MgmtIpEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { ipSetup 6 }
        
	mgmtIpEntry OBJECT-TYPE
        SYNTAX	MgmtIpEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in mgmtIpTable."
        INDEX          	{ mgmtEntryIp, mgmtEntryVid }
        ::= { mgmtIpTable 1 }

        MgmtIpEntry ::=
	SEQUENCE {
        	mgmtEntryIp		IpAddress,
        	mgmtEntrySubnetMask	IpAddress,
        	mgmtEntryGateway	IpAddress,
        	mgmtEntryVid		INTEGER,
        	mgmtEntryManageable	EnabledStatus,
        	mgmtEntryRowStatus	RowStatus
        }

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

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

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

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

        mgmtEntryManageable OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mgmtIpEntry 5 }

        mgmtEntryRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mgmtIpEntry 6 }
        
--  filterSetup
	filterSetup     	OBJECT IDENTIFIER ::= { es2108g 12 }
	
--  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,
        	filterMacAddr		MacAddress,
        	filterVid		INTEGER,
        	filterRowStatus		RowStatus
           }
       
        filterName OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { filterEntry 1 }

        filterMacAddr OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { filterEntry 2 }

   	filterVid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { filterEntry 3 }

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

--  mirrorSetup        
	mirrorSetup     	OBJECT IDENTIFIER ::= { es2108g 13 }

--  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 }
        
        mirrorIngActionState OBJECT-TYPE
        SYNTAX  INTEGER {
        	all(0),
        	destination_mac(1),
        	source_mac(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mirrorSetup 3 }

        mirrorIngMacAddr OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mirrorSetup 4 }
      
        mirrorEgrActionState OBJECT-TYPE
        SYNTAX  INTEGER {
        	all(0),
        	destination_mac(1),
        	source_mac(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mirrorSetup 5 }

        mirrorEgrMacAddr OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { mirrorSetup 6 }
                                
-- mirrorTable

        mirrorTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF MirrorEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { mirrorSetup 7 }
        
	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 ::= { es2108g 14 }
                               
        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)
        }
        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 ::= { es2108g 15 }
                                                            
-- 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 ::= { es2108g 16 }

        queuingMethodType OBJECT-TYPE
        SYNTAX  INTEGER {
        	strictly_priority(0),
        	weighted_round_robin_scheduling(1)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { queuingMethodSetup 1 }

-- QueuingMethodTable
        queuingMethodTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF QueuingMethodEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { queuingMethodSetup 2 }
        
	queuingMethodEntry OBJECT-TYPE
        SYNTAX	QueuingMethodEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in queuingMethodTable."
        INDEX          	{ queuingMethodQueue }
        ::= {queuingMethodTable 1}

        QueuingMethodEntry ::=
           SEQUENCE {
        	queuingMethodQueue	INTEGER,
        	queuingMethodWeight	INTEGER
           }

        queuingMethodQueue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	"0...3"
        ::= { queuingMethodEntry 1 }

        queuingMethodWeight OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	"1...15"
        ::= { queuingMethodEntry 2 }

--  staticRouteSetup
	staticRouteSetup     	OBJECT IDENTIFIER ::= { es2108g 17 }

        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  not-accessible
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { staticRouteEntry 2 }

        staticRouteMask OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  not-accessible
        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 ::= { es2108g 18 }
	
--  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
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpEntry 5 }

-- portOpModeSetup
	portOpModeSetup     	OBJECT IDENTIFIER ::= { es2108g 19 }
                                                            
-- 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)
        }
        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 ::= { es2108g 20 }
                                                            
-- 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	OCTET STRING
           }

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

-- diffservSetup
	diffservSetup     	OBJECT IDENTIFIER ::= { es2108g 21 }

        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 ::= { es2108g 22 }
	
-- 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 }
        ::= { clusterMemberTable 1 }

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

        clusterMemberMac OBJECT-TYPE
        SYNTAX  MacAddress
        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  read-write
        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	MacAddress,
        	clusterCandidateName	DisplayString,
        	clusterCandidateModel	DisplayString
           }

        clusterCandidateMac OBJECT-TYPE
        SYNTAX  MacAddress
        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		MacAddress,
        	clusterStatusMemberName		DisplayString,
        	clusterStatusMemberModel	DisplayString,
        	clusterStatusMemberStatus	INTEGER
           }

        clusterStatusMemberMac OBJECT-TYPE
        SYNTAX  MacAddress
        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"
    ::= { es2108g 26 }


-- **************************************************************************
-- 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"
    ::= { es2108g 27 }  
                                                                                          
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 }
    
--  multicastPortSetup
	multicastPortSetup     	OBJECT IDENTIFIER ::= { es2108g 28 }
	
        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,
        	multicastPortQueryMode			INTEGER
        }

        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 }
        
        multicastPortQueryMode OBJECT-TYPE
        SYNTAX  INTEGER {
        	auto_mode(1),
        	fix_mode(2),
			edge_mode(3)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Specify query mode for each port"
        ::= { multicastPortEntry 5 }

-- multicastStatus
	multicastStatus    	OBJECT IDENTIFIER ::= { es2108g 29 }

        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 }

-- test igmpcount
        igmpCountTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF IgmpCountEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	"A count table of igmp query/report/leave message."
        ::= { multicastStatus 2 }

	igmpCountEntry OBJECT-TYPE
        SYNTAX	IgmpCountEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in igmpCountTable."
        INDEX          	{ igmpCountIndex }
        ::= { igmpCountTable 1 }

        IgmpCountEntry ::=
		SEQUENCE {
        	igmpCountIndex    		INTEGER,
        	igmpCountInQuery		INTEGER,
        	igmpCountInReport		INTEGER,
        	igmpCountInLeave		INTEGER,        	
        	igmpCountInQueryDrop   	INTEGER,
        	igmpCountInReportDrop   INTEGER,
        	igmpCountInLeaveDrop   	INTEGER,
        	igmpCountOutQuery   	INTEGER,
        	igmpCountOutReport   	INTEGER,
        	igmpCountOutLeave   	INTEGER
        }

        igmpCountIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION	"Index of IgmpCountEntry. 0 means total count in whole system"
        ::= { igmpCountEntry 1 }

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

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

        igmpCountInLeave OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpCountEntry 4 }
        
        igmpCountInQueryDrop OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpCountEntry 5 }
        
        igmpCountInReportDrop OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpCountEntry 6 }        
        
        igmpCountInLeaveDrop OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpCountEntry 7 }                

        igmpCountOutQuery OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpCountEntry 8 }                
        
        igmpCountOutReport OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpCountEntry 9 }          

        igmpCountOutLeave OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { igmpCountEntry 10 }     
	
-- multicastVlanStatusTable	
       multicastVlanStatusTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF MulticastVlanStatusEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { multicastStatus 3 }

	multicastVlanStatusEntry OBJECT-TYPE
        SYNTAX	MulticastVlanStatusEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in multicastVlanStatusTable."
        INDEX          	{ multicastVlanStatusVlanID }
        ::= { multicastVlanStatusTable 1 }

        MulticastVlanStatusEntry ::=
	SEQUENCE {
        	multicastVlanStatusVlanID    INTEGER,
        	multicastVlanStatusType	INTEGER,
        	multicastVlanQueryPort	PortList
        	
         }

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

        multicastVlanStatusType OBJECT-TYPE
        SYNTAX  INTEGER {
   	dynamic(1),
 	mvr (2),
	static(3)
        
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { multicastVlanStatusEntry 2 }
	
        multicastVlanQueryPort OBJECT-TYPE
        SYNTAX  PortList
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { multicastVlanStatusEntry 3 } 
	
--  igmpFilteringProfileSetup
	igmpFilteringProfileSetup     	OBJECT IDENTIFIER ::= { es2108g 30 }
	
	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 ::= { es2108g 31 }
	
	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,
        	mvr8021pPriority	INTEGER
        }

        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 }
        
        mvr8021pPriority OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"Set the 802.1p priority of control messages within MVR (0~7)"
        ::= { mvrEntry 5 }

        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 }    
        
--  sysLogSetup
	sysLogSetup     	OBJECT IDENTIFIER ::= { es2108g 32 }
	
	sysLogState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"sysLog enabled/disabled for the switch."
        ::= { sysLogSetup 1 }
            	
--  sysLogTypeTable
       	sysLogTypeTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF SysLogTypeEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { sysLogSetup 2 }
        
	sysLogTypeEntry OBJECT-TYPE
        SYNTAX	SysLogTypeEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in sysLogTypeTable."
        INDEX          	{ sysLogTypeIndex }
        ::= { sysLogTypeTable 1 }

        SysLogTypeEntry ::=
           SEQUENCE {
         	sysLogTypeIndex		INTEGER,
        	sysLogTypeName		DisplayString,
        	sysLogTypeState		EnabledStatus,
        	sysLogTypeFacility	INTEGER
           }
       
        sysLogTypeIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { sysLogTypeEntry 1 }

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

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

   	sysLogTypeFacility OBJECT-TYPE
        SYNTAX  INTEGER {
        	local_user0(0),
        	local_user1(1),
        	local_user2(2),
        	local_user3(3),
        	local_user4(4),
        	local_user5(5),
        	local_user6(6),
        	local_user7(7)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { sysLogTypeEntry 4 }

--  sysLogServerTable
       	sysLogServerTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF SysLogServerEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { sysLogSetup 3 }
        
	sysLogServerEntry OBJECT-TYPE
        SYNTAX	SysLogServerEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in sysLogServerTable."
        INDEX          	{ sysLogServerAddress }
        ::= { sysLogServerTable 1 }

        SysLogServerEntry ::=
           SEQUENCE {
         	sysLogServerAddress		IpAddress,
        	sysLogServerLogLevel	INTEGER,
        	sysLogServerRowStatus	RowStatus
           }
       
        sysLogServerAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { sysLogServerEntry 1 }

        sysLogServerLogLevel OBJECT-TYPE
        SYNTAX  INTEGER {
        	level0(0),
        	level0-1(1),
        	level0-2(2),
        	level0-3(3),
        	level0-4(4),
        	level0-5(5),
        	level0-6(6),
        	level0-7(7)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { sysLogServerEntry 2 }

        sysLogServerRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { sysLogServerEntry 3 } 
        
--  dhcpSetup
	dhcpSetup     	OBJECT IDENTIFIER ::= {  es2108g 33 }

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

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

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

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

--  globalDhcpRelayRemoteServer

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

-- globalDhcpRelayRemoteServerTable
        globalDhcpRelayRemoteServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF GlobalDhcpRelayRemoteServerEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { globalDhcpRelay 6 }
        
	globalDhcpRelayRemoteServerEntry OBJECT-TYPE
        SYNTAX	GlobalDhcpRelayRemoteServerEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in globalDhcpRelayRemoteServerTable."
        INDEX          	{ globalDhcpRelayRemoteServerIp }
        ::= { globalDhcpRelayRemoteServerTable 1 }

        GlobalDhcpRelayRemoteServerEntry ::=
           SEQUENCE {
        	globalDhcpRelayRemoteServerIp		IpAddress,
        	globalDhcpRelayRemoteServerRowStatus	RowStatus
           }

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

        globalDhcpRelayRemoteServerRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { globalDhcpRelayRemoteServerEntry 2 }      
        
--
	dhcpRelay OBJECT IDENTIFIER ::= { dhcpSetup 3 }

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

	 maxNumberOfDhcpRelay OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	"The maximum number of DHCP relay entries that can be created. 
                      	A value of 0 for this object implies that there exists settings for 
                      	global DHCP relay."
        ::= { dhcpRelay 2 }
        
     maxNumberOfDhcpRelayRemoteServer OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpRelay 3 }
       
-- dhcpRelayRemoteServerTable
        dhcpRelayRemoteServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF DhcpRelayRemoteServerEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { dhcpRelay 4 }
        
	dhcpRelayRemoteServerEntry OBJECT-TYPE
        SYNTAX	DhcpRelayRemoteServerEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in dhcpRelayRemoteServerTable."
        INDEX          	{  dhcpRelayVid, dhcpRelayRemoteServerIp }
        ::= { dhcpRelayRemoteServerTable 1 }

        DhcpRelayRemoteServerEntry ::=
           SEQUENCE {  
            	dhcpRelayVid		          INTEGER,
           	dhcpRelayRemoteServerIp		IpAddress,
        		dhcpRelayRemoteServerRowStatus	RowStatus
           }     
           
        dhcpRelayVid OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpRelayRemoteServerEntry 1 }   
        
        dhcpRelayRemoteServerIp OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpRelayRemoteServerEntry 2 }

        dhcpRelayRemoteServerRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { dhcpRelayRemoteServerEntry 3 }
          	
-- dhcpRelayTable   
        
        dhcpRelayTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF DhcpRelayEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { dhcpRelay 5 }  	


	dhcpRelayEntry OBJECT-TYPE
        SYNTAX	DhcpRelayEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in dhcpRelayTable."
        INDEX          	{ dhcpRelayVid }
        ::= { dhcpRelayTable 1 }

        DhcpRelayEntry ::=
           SEQUENCE {
        	dhcpRelayOption82Enable   EnabledStatus,
        	dhcpRelayInfoEnable       EnabledStatus
           }

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

        dhcpRelayInfoEnable OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { dhcpRelayEntry 2 }          
        
--  radiusServerSetup
	radiusServerSetup     	OBJECT IDENTIFIER ::= { es2108g 34 }

        radiusAuthServerSetup OBJECT IDENTIFIER ::= { radiusServerSetup 1 }
        
        radiusAuthServerMode OBJECT-TYPE
        SYNTAX  INTEGER{
        		index-priority(1),
		round-robin(2),
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { radiusAuthServerSetup 1 }

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

-- radiusAuthServerTable
        radiusAuthServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF RadiusAuthServerEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { radiusAuthServerSetup 3 }
        
	radiusAuthServerEntry OBJECT-TYPE
        SYNTAX	RadiusAuthServerEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in radiusAuthServerTable."
        INDEX          	{ radiusAuthServerIndex }
        ::= { radiusAuthServerTable 1 }

        RadiusAuthServerEntry ::=
           SEQUENCE {
        	radiusAuthServerIndex		INTEGER,
        	radiusAuthServerIpAddr		IpAddress,
        	radiusAuthServerUdpPort		INTEGER,
        	radiusAuthServerSharedSecret	DisplayString
           }

        radiusAuthServerIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { radiusAuthServerEntry 1 }

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

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

        radiusAuthServerSharedSecret OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { radiusAuthServerEntry 4 }

        radiusAcctServerSetup OBJECT IDENTIFIER ::= { radiusServerSetup 2 }

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

-- radiusAcctServerTable
        radiusAcctServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF RadiusAcctServerEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { radiusAcctServerSetup 2 }
        
	radiusAcctServerEntry OBJECT-TYPE
        SYNTAX	RadiusAcctServerEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in radiusAcctServerTable."
        INDEX          	{ radiusAcctServerIndex }
        ::= { radiusAcctServerTable 1 }

        RadiusAcctServerEntry ::=
           SEQUENCE {
        	radiusAcctServerIndex		INTEGER,
        	radiusAcctServerIpAddr		IpAddress,
        	radiusAcctServerUdpPort		INTEGER,
        	radiusAcctServerSharedSecret	DisplayString
           }

        radiusAcctServerIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { radiusAcctServerEntry 1 }

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

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

        radiusAcctServerSharedSecret OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { radiusAcctServerEntry 4 }
        
--  tacacsServerSetup
	tacacsServerSetup     	OBJECT IDENTIFIER ::= { es2108g 35 }

        tacacsAuthServerSetup OBJECT IDENTIFIER ::= { tacacsServerSetup 1 }
        
        tacacsAuthServerMode OBJECT-TYPE
        SYNTAX  INTEGER{
        		index-priority(1),
		round-robin(2),
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { tacacsAuthServerSetup 1 }

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

-- tacacsAuthServerTable
        tacacsAuthServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF TacacsAuthServerEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { tacacsAuthServerSetup 3 }
        
	tacacsAuthServerEntry OBJECT-TYPE
        SYNTAX	TacacsAuthServerEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in tacacsAuthServerTable."
        INDEX          	{ tacacsAuthServerIndex }
        ::= { tacacsAuthServerTable 1 }

        TacacsAuthServerEntry ::=
           SEQUENCE {
        	tacacsAuthServerIndex		INTEGER,
        	tacacsAuthServerIpAddr		IpAddress,
        	tacacsAuthServerTcpPort		INTEGER,
        	tacacsAuthServerSharedSecret	DisplayString
           }

        tacacsAuthServerIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { tacacsAuthServerEntry 1 }

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

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

        tacacsAuthServerSharedSecret OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { tacacsAuthServerEntry 4 }

        tacacsAcctServerSetup OBJECT IDENTIFIER ::= { tacacsServerSetup 2 }

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

-- tacacsAcctServerTable
        tacacsAcctServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF TacacsAcctServerEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { tacacsAcctServerSetup 2 }
        
	tacacsAcctServerEntry OBJECT-TYPE
        SYNTAX	TacacsAcctServerEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in tacacsAcctServerTable."
        INDEX          	{ tacacsAcctServerIndex }
        ::= { tacacsAcctServerTable 1 }

        TacacsAcctServerEntry ::=
           SEQUENCE {
        	tacacsAcctServerIndex		INTEGER,
        	tacacsAcctServerIpAddr		IpAddress,
        	tacacsAcctServerTcpPort		INTEGER,
        	tacacsAcctServerSharedSecret	DisplayString
           }

        tacacsAcctServerIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { tacacsAcctServerEntry 1 }

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

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

        tacacsAcctServerSharedSecret OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { tacacsAcctServerEntry 4 }

--  aaaSetup
	aaaSetup     	OBJECT IDENTIFIER ::= { es2108g 36 }

        authenticationSetup OBJECT IDENTIFIER ::= { aaaSetup 1 }

-- authenticationTypeTable
        authenticationTypeTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF AuthenticationTypeEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { authenticationSetup 1 }
        
	authenticationTypeEntry OBJECT-TYPE
        SYNTAX	AuthenticationTypeEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in authenticationTypeTable."
        INDEX          	{ authenticationTypeName }
        ::= { authenticationTypeTable 1 }

        AuthenticationTypeEntry ::=
           SEQUENCE {
        	authenticationTypeName	DisplayString,
        	authenticationTypeMethodList	OCTET STRING
           }

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

        authenticationTypeMethodList OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                     	""
        ::= { authenticationTypeEntry 2 }

    accountingSetup      	OBJECT IDENTIFIER ::= { aaaSetup 2 }      
	accountingUpdatePeriod OBJECT-TYPE
	SYNTAX  Integer32
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
                      	""
	::= { accountingSetup 1 }		
	
-- accountingTypeTable
        accountingTypeTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF AccountingTypeEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { accountingSetup 2 }
        
	accountingTypeEntry OBJECT-TYPE
        SYNTAX	AccountingTypeEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in accountingTypeTable."
        INDEX          	{ accountingTypeName }
        ::= { accountingTypeTable 1 }

        AccountingTypeEntry ::=
           SEQUENCE {
         	accountingTypeName		DisplayString,
         	accountingTypeActive		EnabledStatus,	         	
         	accountingTypeBroadcast		EnabledStatus,	         	
         	accountingTypeMode		INTEGER,
         	accountingTypeMethod		INTEGER,
         	accountingTypePrivilege		INTEGER        	
           }

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

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

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

	accountingTypeMode OBJECT-TYPE
	SYNTAX  INTEGER{
		not-available(255),
        		start-stop(1),
		stop-only(2)		
	}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
                      	""
	::= { accountingTypeEntry 4 }

	accountingTypeMethod OBJECT-TYPE
	SYNTAX  INTEGER{		
        		radius(1),
		tacacs(2)		
	}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
                      	""
	::= { accountingTypeEntry 5 }

	accountingTypePrivilege OBJECT-TYPE
	SYNTAX  INTEGER{	
		not-available(255),
		privilege-0(0),
		privilege-1(1),
		privilege-2(2),
		privilege-3(3),
		privilege-4(4),
		privilege-5(5),
		privilege-6(6),
		privilege-7(7),
		privilege-8(8),
		privilege-9(9),
		privilege-10(10),
		privilege-11(11),
		privilege-12(12),
		privilege-13(13),
		privilege-14(14)        		
	}
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
                      	""
	::= { accountingTypeEntry 6 }

---------------------------------------------------
--
--  ip source guard
--
---------------------------------------------------

	ipsg OBJECT IDENTIFIER ::= { es2108g 101 }
	
	    ipsgTable  OBJECT-TYPE
	    SYNTAX	SEQUENCE OF IpsgEntry 
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
	             	""
	    ::= { ipsg 1 }	

	ipsgEntry  OBJECT-TYPE
        SYNTAX	IpsgEntry 
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
        INDEX          	{ ipsgEntryMac, ipsgEntryVid }
        ::= { ipsgTable 1 }

        IpsgEntry ::=
           SEQUENCE {
            ipsgEntryMac		MacAddress,
        	ipsgEntryVid		INTEGER,
        	ipsgEntryIp			IpAddress,
        	ipsgEntryLease		INTEGER,
        	ipsgEntryType		INTEGER,
        	ipsgEntryPort		INTEGER,
        	ipsgEntryState		RowStatus
           }

        ipsgEntryMac OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ipsgEntry 1 }

        ipsgEntryVid OBJECT-TYPE
        SYNTAX  INTEGER (1.. 4094)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ipsgEntry 2 }

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

        ipsgEntryLease OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	"second"
        ::= { ipsgEntry 4 }

        ipsgEntryType OBJECT-TYPE
        SYNTAX  INTEGER { static(1), dhcp(2) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ipsgEntry 5 }

        ipsgEntryPort OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"0 means any port"
        ::= { ipsgEntry 6 }

        ipsgEntryState OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { ipsgEntry 7 } 


---------------------------------------------------
--
--  arpInspect
--
---------------------------------------------------

	arpInspect     	OBJECT IDENTIFIER ::= { es2108g 102 }

	arpInspectSetup  OBJECT IDENTIFIER ::= { arpInspect 1 }

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

        arpInspectFilterAgingTime OBJECT-TYPE
        SYNTAX  INTEGER (0..2147483647)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { arpInspectSetup 2 }

	arpInspectLog  OBJECT IDENTIFIER ::= { arpInspectSetup 3 }
	
        arpInspectLogEntries OBJECT-TYPE
        SYNTAX  INTEGER	(0..1024)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { arpInspectLog 1 }

        arpInspectLogRate OBJECT-TYPE
        SYNTAX  INTEGER (0..1024)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { arpInspectLog 2 }
        
        arpInspectLogInterval OBJECT-TYPE
        SYNTAX  INTEGER (0..2147483647)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      ""
        ::= { arpInspectLog 3 }                	

	arpInspectVlanTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ArpInspectVlanEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { arpInspectSetup 4 }
        
	arpInspectVlanEntry OBJECT-TYPE
        SYNTAX	ArpInspectVlanEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
        INDEX          	{ arpInspectVlanVid }
        ::= { arpInspectVlanTable 1 }

        ArpInspectVlanEntry ::=
           SEQUENCE {
        	arpInspectVlanVid	INTEGER,
        	arpInspectVlanLog	INTEGER,
			arpInspectVlanStatus	INTEGER       	
           }

        arpInspectVlanVid OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectVlanEntry 1 }

        arpInspectVlanLog OBJECT-TYPE
        SYNTAX  INTEGER {
        		all (1),
        		none (2),
        		permit (3),
        		deny (4)
        }
        		
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectVlanEntry 2 }

        arpInspectVlanStatus OBJECT-TYPE
        SYNTAX  INTEGER {
        		enabled(1),
        		disabled(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectVlanEntry 3 }

	arpInspectPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ArpInspectPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { arpInspectSetup 5 }
        
	arpInspectPortEntry OBJECT-TYPE
        SYNTAX	ArpInspectPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
        INDEX          	{ arpInspectPortIndex }
        ::= { arpInspectPortTable 1 }

        ArpInspectPortEntry ::=
           SEQUENCE {
        	arpInspectPortIndex	INTEGER,
        	arpInspectPortTrust	INTEGER
           }

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

        arpInspectPortTrust OBJECT-TYPE
        SYNTAX  INTEGER {
        		trusted(1),
        		untrusted(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectPortEntry 2 }

	arpInspectStatus  OBJECT IDENTIFIER ::= { arpInspect 2 }

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

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

	arpInspectFilterTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ArpInspectFilterEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { arpInspectStatus 3 }
        
	arpInspectFilterEntry OBJECT-TYPE
        SYNTAX	ArpInspectFilterEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
        INDEX          	{ arpInspectFilterMac, arpInspectFilterVid }
        ::= { arpInspectFilterTable 1 }

        ArpInspectFilterEntry ::=
           SEQUENCE {
        	arpInspectFilterMac	MacAddress,
        	arpInspectFilterVid	INTEGER,
			arpInspectFilterPort	INTEGER,       	
			arpInspectFilterExpiry	INTEGER,
			arpInspectFilterReason	INTEGER,
			arpInspectFilterRowStatus RowStatus
           }

        arpInspectFilterMac OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectFilterEntry 1 }

        arpInspectFilterVid OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectFilterEntry 2 }

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

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

        arpInspectFilterReason OBJECT-TYPE
        SYNTAX  INTEGER {
        		macVid(1),
        		port(2),
        		ip(3)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectFilterEntry 5 }		
        
       arpInspectFilterRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        ACCESS  read-create
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectFilterEntry 6 }	

	arpInspectLogTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ArpInspectLogEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { arpInspectStatus 4 }
        
	arpInspectLogEntry OBJECT-TYPE
        SYNTAX	ArpInspectLogEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
        INDEX          	{ arpInspectLogMac, arpInspectLogVid, arpInspectLogPort, arpInspectLogIp }
        ::= { arpInspectLogTable 1 }

        ArpInspectLogEntry ::=
           SEQUENCE {
        	arpInspectLogMac	MacAddress,
        	arpInspectLogVid	INTEGER,
			arpInspectLogPort	INTEGER,       	
			arpInspectLogIp	IpAddress,
			arpInspectLogNumPkt	INTEGER,
			arpInspectLogReason	INTEGER,
			arpInspectLogTime	DateAndTime
           }

        arpInspectLogMac OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectLogEntry 1 }

        arpInspectLogVid OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectLogEntry 2 }

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

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

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

        arpInspectLogReason OBJECT-TYPE
        SYNTAX  INTEGER {
        		deny (1),
        		denyStatic (2),
        		denyDHCP (3),
        		permitStatic (4),
        		permitDHCP (5)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectLogEntry 6 }		
        
        arpInspectLogTime OBJECT-TYPE
        SYNTAX  DateAndTime
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { arpInspectLogEntry 7 }		
        


---------------------------------------------------
--
--  loopGuardSetup
--
---------------------------------------------------

	loopGuardSetup     	OBJECT IDENTIFIER ::= { es2108g 104 }
                               
        loopGuardState OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { loopGuardSetup 1 }

                                               
-- loopGuardPortTable

	loopGuardPortTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF LoopGuardPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { loopGuardSetup 2 }
        
	loopGuardPortEntry OBJECT-TYPE
        SYNTAX	LoopGuardPortEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in loopGuardPortTable."
        INDEX          	{ dot1dBasePort }
        ::= { loopGuardPortTable 1 }

		LoopGuardPortEntry ::=
		SEQUENCE {
			loopGuardPortState	EnabledStatus
		}

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

-- MSTP  
--****************************************************************
-- TEXTUAL-CONVENTIONs
--****************************************************************
		MstiOrCistInstanceIndex ::= TEXTUAL-CONVENTION
      		STATUS       mandatory
    		DESCRIPTION
	            "This textual convention is an extension of the
	            MstiInstanceIndex convention.  This extension permits the
	            additional value of zero, which means Common and Internal
	            Spanning Tree (CIST)."
            SYNTAX      Integer32 (0..16) 
            
        mstp            OBJECT IDENTIFIER ::= { es2108g 107 }    
-- mstpGen group reflects configurations/statuses
-- the Bridge as a unit  
	    mstpGen			OBJECT IDENTIFIER ::= { mstp 1}  
	    
        mstpGenState		OBJECT-TYPE
        SYNTAX    EnabledStatus
        ACCESS    read-write
        STATUS    mandatory
        DESCRIPTION
        "Enabled/disabled on the mrstp bridge."
        ::= { mstpGen 1 }
        
        mstpGenCfgIdName    OBJECT-TYPE
        SYNTAX    DisplayString
        ACCESS    read-write
        STATUS    mandatory 
        DESCRIPTION 
        "The configuration name that identifies the MST
         region and is used as one of the inputs in the 
         computation of the MST Configuration Identifier." 
        REFERENCE
            "12.12.3.4.2.b)"
        ::= { mstpGen 2 }
        
        mstpGenCfgIdRevLevel OBJECT-TYPE
        SYNTAX    Integer32
        ACCESS    read-write
        STATUS    mandatory 
        DESCRIPTION 
        "This object identifies the MST revision that
         identifies the MST region and is used as one
         of the inputs in the computation of the MST 
         configuration Identifier."
        REFERENCE
            "12.12.3.4.2.c)"
        ::= { mstpGen 3 }
	    
	    
	   mstpGenCfgIdCfgDigest  OBJECT-TYPE
            SYNTAX    OCTET STRING(SIZE(16))
            ACCESS    read-only
            STATUS    mandatory
            DESCRIPTION
              "Configuration Digest."
            REFERENCE
               "12.12.3.3.3.a.4"
            ::= { mstpGen 4 }
	    
	    mstpGenHelloTime  OBJECT-TYPE
	        SYNTAX    Timeout (100..1000)
            ACCESS    read-write
            STATUS    mandatory 
            DESCRIPTION
            ""                  
            ::= { mstpGen 5 }
       
        mstpGenMaxAge    OBJECT-TYPE
            SYNTAX  Timeout (600..4000)
            ACCESS  read-write
            STATUS  mandatory 
            DESCRIPTION
            "" 
            ::= { mstpGen 6 }
         
        mstpGenForwardDelay   OBJECT-TYPE 
            SYNTAX  Timeout (400..3000)
            ACCESS  read-write
            STATUS  mandatory
            DESCRIPTION
            ""
            ::= {mstpGen 7}
        
        mstpGenMaxHops  OBJECT-TYPE
            SYNTAX      Integer32 (4..30)
            MAX-ACCESS  read-write
            STATUS      mandatory
            DESCRIPTION
               "13.22.f)"
            ::= { mstpGen 8 }
	    
	mstpGenCistRootPathCost  OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  read-only
            STATUS      mandatory
            DESCRIPTION
	    "."
            ::= { mstpGen 9 }
	    
	mstpGenCistRootBrid  OBJECT-TYPE
            SYNTAX      OCTET STRING(SIZE(32))
            MAX-ACCESS  read-only
            STATUS      mandatory
            DESCRIPTION
            "."
            ::= { mstpGen 10 }
-- MSTP MAP TABLE
        mstMapTable        OBJECT-TYPE
            SYNTAX      SEQUENCE OF MstMapEntry
            ACCESS  not-accessible
            STATUS      mandatory
            DESCRIPTION
               "This table contains one entry for each instance of MSTP."
            ::= { mstp 20 }	
         
        mstMapEntry        OBJECT-TYPE
            SYNTAX      MstMapEntry
            ACCESS  not-accessible
            STATUS      mandatory
            DESCRIPTION
               "A conceptual row containing the status of the MSTP instance."
            INDEX  { mstMapIndex }
            ::= { mstMapTable 1 }
        
        MstMapEntry ::= SEQUENCE {
                   mstMapIndex             MstiOrCistInstanceIndex,
                   mstMapVlans1k           OCTET STRING,
                   mstMapVlans2k           OCTET STRING,
                   mstMapVlans3k           OCTET STRING,
                   mstMapVlans4k           OCTET STRING,
                   mstMapRowStatus         RowStatus
        }
        
        mstMapIndex    OBJECT-TYPE
            SYNTAX      MstiOrCistInstanceIndex
            MAX-ACCESS  not-accessible
            STATUS      mandatory
            DESCRIPTION
            "Uniquely identifies an instance. The entry of this table with index 0
            presents always, represents CIST. When SET operation "
            ::= { mstMapEntry 1 }  
        
        mstMapVlans1k      OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            ACCESS  read-write
            STATUS      mandatory
            DESCRIPTION
           "A string of octets containing one bit per VLAN. The
            first octet corresponds to VLANs with VlanIndex values
            1 through 8; the second octet to VLANs 9 through
            16 etc.  The most significant bit of each octet
            corresponds to the lowest VlanIndex value in that octet.

            For each VLAN that is mapped to this MSTP instance,
            the bit corresponding to that VLAN is set to '1'.
            Empty (zero) most significant octes are not mandatory."
            ::= { mstMapEntry 2 } 
        
        mstMapVlans2k      OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (0..128))
            ACCESS  read-write
            STATUS  mandatory
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
             VLANS with VlanIndex values 1024 through 2047. The
             first octet corresponds to VLANs with VlanIndex values
             1024 through 1031; the second octet to VLANs 1032
             through 1039 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.
             
             For each VLAN that is mapped to this MSTP instance,
             the bit corresponding to that VLAN is set to '1'.

             Empty (zero) most significant octes are not mandatory."
             ::= { mstMapEntry 3 }
        
        mstMapVlans3k      OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
             VLANS with VlanIndex values 2048 through 3071. The
             first octet corresponds to VLANs with VlanIndex values
             of 2048 through 2055; the second octet to VLANs 2056
             through 2063 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.

             For each VLAN that is mapped to this MSTP instance,
             the bit corresponding to that VLAN is set to '1'.

             Empty (zero) most significant octes are not mandatory."
             ::= { mstMapEntry 4 }
        
        mstMapVlans4k      OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
             VLANS with VlanIndex values 3072 through 4095. The
             first octet corresponds to VLANs with VlanIndex values
             3072 through 3079; the second octet to VLANs 3080
             through 3087 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.
        
             For each VLAN that is mapped to this MSTP instance,
             the bit corresponding to that VLAN is set to '1'.
           
             Empty (zero) most significant octes are not mandatory."
             ::= { mstMapEntry 5 }   
        
        mstMapRowStatus    OBJECT-TYPE
            SYNTAX  RowStatus
            ACCESS  read-create
            STATUS  mandatory
            DESCRIPTION 
            ""
        ::= {  mstMapEntry 6 }
    	
-- MSTP Vlan Table, map vlan to msti
        mstVlanTable       OBJECT-TYPE
            SYNTAX      SEQUENCE OF MstVlanEntry
            ACCESS  not-accessible
            STATUS      mandatory
            DESCRIPTION
            "This table contains one entry for each VlanId."
            ::= { mstp 30 } 
        
        mstVlanEntry  OBJECT-TYPE
            SYNTAX      MstVlanEntry
            ACCESS      not-accessible
            STATUS      mandatory
            DESCRIPTION
                "Information regarding the instance to which each Vlan is mapped."
            INDEX  { mstVlanIndex }
            ::= { mstVlanTable 1 }
           
        MstVlanEntry ::= SEQUENCE {
              mstVlanIndex         INTEGER,
              mstVlanMstIndex      MstiOrCistInstanceIndex
        }
        
        
        mstVlanIndex     OBJECT-TYPE
            SYNTAX        INTEGER(1..4094)
            ACCESS        not-accessible
            STATUS        mandatory
            DESCRIPTION
                "The VlanId for which this entry contains the instance mapped."
            ::= { mstVlanEntry 1 } 
         
        mstVlanMstIndex    OBJECT-TYPE
             SYNTAX      MstiOrCistInstanceIndex
             ACCESS  read-only
             STATUS      mandatory
             DESCRIPTION
                 "An integer with values ranging from 0 to 64 that identify a 
                      the CIST/MSTI instance to which this VLAN is mapped" 
             ::= { mstVlanEntry 2 }   
-- MSTP Port Table, information for all instance of a port
        mstpPortTable      OBJECT-TYPE
            SYNTAX      SEQUENCE OF MstpPortEntry
            ACCESS  not-accessible
            STATUS      mandatory
            DESCRIPTION
                "A table that contains generic information about
                every port that is associated with this bridge."
            ::= { mstp 40 }
        
        mstpPortEntry      OBJECT-TYPE
            SYNTAX  MstpPortEntry
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
            "A list of information for each port of the
            bridge."
            INDEX  { mstpPortIndex }
            ::= { mstpPortTable 1 }
        
        MstpPortEntry ::= SEQUENCE {
             mstpPortIndex                    INTEGER,
             mstpPortOperEdgePort             TruthValue,
             mstpPortOperPointToPointMAC      TruthValue
        }
        
        mstpPortIndex	OBJECT-TYPE
            SYNTAX    INTEGER (1..65535)
            ACCESS  not-accessible
            STATUS      mandatory
            DESCRIPTION
            "A unique value, greater than zero, for each Port.
            The value for each interface sub-layer
            must remain constant at least from one re-initialization
            of the entity's network management system to the next re-
            initialization."
            ::= { mstpPortEntry 1 }
        
        mstpPortOperEdgePort    OBJECT-TYPE
            SYNTAX    TruthValue
            ACCESS    read-only
            STATUS    mandatory 
            DESCRIPTION
            ""
            REFERENCE   ""
            ::= { mstpPortEntry 2 }
        
        mstpPortOperPointToPointMAC    OBJECT-TYPE
            SYNTAX    TruthValue
            ACCESS    read-only
            STATUS    mandatory
            DESCRIPTION
            ""
            REFERENCE    ""
            ::= {mstpPortEntry 3} 
-- MSTP Xst Table, Cist/Mst status/setting
        mstpXstTable  OBJECT-TYPE
              SYNTAX      SEQUENCE OF MstpXstEntry
              ACCESS  not-accessible
              STATUS      mandatory
              DESCRIPTION
                "."
              ::= { mstp 50 }

        mstpXstEntry OBJECT-TYPE
              SYNTAX      MstpXstEntry
              ACCESS  not-accessible
              STATUS      mandatory
              DESCRIPTION
                "."
              INDEX { mstpXstId }
              ::= { mstpXstTable 1 }  
        
       MstpXstEntry ::= SEQUENCE {
	           mstpXstId                      MstiOrCistInstanceIndex,
	           mstpXstBridgePriority          Integer32,
	           mstpXstBridgeId                BridgeId,
	           mstpXstInternalRootCost        Integer32,
	           mstpXstRootPort                INTEGER,
	           mstpXstTimeSinceTopologyChange TimeTicks,
	           mstpXstTopologyChangesCount    Counter32
       }
       
       mstpXstId   OBJECT-TYPE
           SYNTAX      MstiOrCistInstanceIndex
           ACCESS      read-only
           STATUS      mandatory
           DESCRIPTION
             "0 means CIST."
           ::= { mstpXstEntry 1 }
       
       mstpXstBridgePriority   OBJECT-TYPE
           SYNTAX      Integer32 (0..61440)
           ACCESS  read-write
           STATUS      mandatory
           DESCRIPTION
              "Bridge priority, in steps of 4096."
           DEFVAL       { 32768 }
           ::= { mstpXstEntry 2 } 
       
       mstpXstBridgeId   OBJECT-TYPE
           SYNTAX      BridgeId
           ACCESS      read-only
           STATUS      mandatory
           DESCRIPTION
             "."
           ::= { mstpXstEntry 3 }   
        
        
       mstpXstInternalRootCost     OBJECT-TYPE
           SYNTAX      Integer32
           ACCESS      read-only
           STATUS      mandatory
           DESCRIPTION
             "."
           ::= { mstpXstEntry 4 }

       mstpXstRootPort      OBJECT-TYPE
           SYNTAX      INTEGER 
           ACCESS      read-only
           STATUS      mandatory
           DESCRIPTION
           "."
           ::= { mstpXstEntry 5 }
       
       mstpXstTimeSinceTopologyChange  OBJECT-TYPE
           SYNTAX      TimeTicks
           ACCESS      read-only
           STATUS      mandatory
           DESCRIPTION
             "."
           ::= { mstpXstEntry 6 }

       mstpXstTopologyChangesCount     OBJECT-TYPE
           SYNTAX      Counter32
           ACCESS      read-only
           STATUS      mandatory
           DESCRIPTION
             "."
           ::= { mstpXstEntry 7 }  
-- MSTP Xst Port Table, Cist/Mst Port status/setting
       mstpXstPortTable    OBJECT-TYPE
           SYNTAX  SEQUENCE OF MstpXstPortEntry
           ACCESS  not-accessible
           STATUS  mandatory
           DESCRIPTION
             "."
           ::= { mstp 60 }
       
       mstpXstPortEntry    OBJECT-TYPE
           SYNTAX  MstpXstPortEntry
           ACCESS  not-accessible
           STATUS  mandatory
           DESCRIPTION
             "."
           REFERENCE
             "."
           INDEX  { mstpXstPortXstId, mstpXstPortIndex }
           ::= { mstpXstPortTable 1 }
       
        
        MstpXstPortEntry ::=
        SEQUENCE {
         	mstpXstPortXstId                 MstiOrCistInstanceIndex,
          	mstpXstPortIndex                 INTEGER,
          	mstpXstPortEnable                EnabledStatus, 
          	mstpXstPortPriority              Integer32,
          	mstpXstPortPathCost              INTEGER,   
          	mstpXstPortState				 INTEGER,
          	mstpXstPortDesignatedRoot        BridgeId,
          	mstpXstPortDesignatedCost        Integer32,
          	mstpXstPortDesignatedBridge      BridgeId,
          	mstpXstPortDesignatedPort        INTEGER
        }
        
        mstpXstPortXstId     OBJECT-TYPE
            SYNTAX      MstiOrCistInstanceIndex
            ACCESS      not-accessible
            STATUS      mandatory
            DESCRIPTION
              "0 means CIST."
            ::= { mstpXstPortEntry 1 }

        mstpXstPortIndex     OBJECT-TYPE
            SYNTAX      INTEGER(1..65535)
            ACCESS      read-only
            STATUS      mandatory
            DESCRIPTION
              "The value of mstpPortIndex of the Port
              in mstpPortTable."
            ::= { mstpXstPortEntry 2 }
        
        
        mstpXstPortEnable     OBJECT-TYPE
            SYNTAX      EnabledStatus
            ACCESS      read-write
            STATUS      mandatory
            DESCRIPTION
              "."
            ::= { mstpXstPortEntry 3 }
         
         mstpXstPortPriority              OBJECT-TYPE 
             SYNTAX      Integer32 (0..255)
             ACCESS      read-write
             STATUS      mandatory
             DESCRIPTION
               "Port priority, in steps of 16."
             DEFVAL       { 128 }
             ::= { mstpXstPortEntry 4 }
        
         mstpXstPortPathCost              OBJECT-TYPE 
             SYNTAX      INTEGER (1..65535)
             ACCESS      read-write
             STATUS      mandatory
             DESCRIPTION
               "."
             ::= { mstpXstPortEntry 5 }

         mstpXstPortState                 OBJECT-TYPE 
             SYNTAX      INTEGER {
               disabled(0),
               discarding(1),
               learning(2),
               forwarding(3),
               unknown(4)
             }
             ACCESS      read-only
             STATUS      mandatory
             DESCRIPTION
               "."
             ::= { mstpXstPortEntry 6 }
         
         mstpXstPortDesignatedRoot        OBJECT-TYPE 
              SYNTAX      BridgeId
              ACCESS      read-only
              STATUS      mandatory
              DESCRIPTION
              "."
              ::= { mstpXstPortEntry 7 }
         
         mstpXstPortDesignatedCost        OBJECT-TYPE
             SYNTAX      Integer32
             ACCESS      read-only
             STATUS      mandatory
             DESCRIPTION
             "."
             ::= { mstpXstPortEntry 8 }
         
         mstpXstPortDesignatedBridge      OBJECT-TYPE
             SYNTAX      BridgeId
             ACCESS      read-only
             STATUS      mandatory
             DESCRIPTION
             "."
             ::= { mstpXstPortEntry 9 }
        
         mstpXstPortDesignatedPort      OBJECT-TYPE
             SYNTAX      INTEGER
             ACCESS      read-only
             STATUS      mandatory
             DESCRIPTION
             "."
             ::= { mstpXstPortEntry 10 }  
--MSTP Traps 
 	     mstpNotifications     	OBJECT IDENTIFIER ::= { mstp 70 }              
	
	     newRoot NOTIFICATION-TYPE
         OBJECTS {
                mstpXstId
         }
         STATUS  current
         DESCRIPTION
          ""
         ::= { mstpNotifications 1 }
      
         topologyChange NOTIFICATION-TYPE
         OBJECTS {
                mstpXstId
         }
         STATUS  current
         DESCRIPTION
          ""
         ::= { mstpNotifications 2 }        

END

