
-- *****************************************************************
-- Moxa EtherDevice Switch EDS405A MIB
--
-- Copyright (c) 2011 by Moxa Inc.
-- All rights reserved.
-- *****************************************************************

MOXA-EDS405A-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        enterprises, MODULE-IDENTITY, NOTIFICATION-TYPE, IpAddress, OBJECT-TYPE
        	FROM SNMPv2-SMI
        DateAndTime, TEXTUAL-CONVENTION, MacAddress, DisplayString  
        	FROM SNMPv2-TC;

    moxa 		OBJECT IDENTIFIER ::= { enterprises 8691 }	-- 1.3.6.1.4.1.8691    
    industrialEthernet	OBJECT IDENTIFIER ::= { moxa 7 }		-- 1.3.6.1.4.1.8691.7
        
    eds405a   MODULE-IDENTITY
	    LAST-UPDATED "201611020000Z"
	    ORGANIZATION "Moxa Inc."
	    CONTACT-INFO
	            "Postal: Moxa Inc.
	             Fl.4, No.135,Lane 235,Pao-Chiao Rd.
	             Shing Tien City,Taipei,Taiwan,R.O.C
	          
	             Tel: +866-2-89191230 "
		DESCRIPTION
				"The MIB module for Moxa EDS-405A series specific information."

        REVISION    "201611020000Z"
        DESCRIPTION
            "Remove objects:
                igmpSnoopingMulticastGroupTable,
                igmpSnoopingMulticastGroupEntry,
                igmpSnoopingIpGroup,
                igmpSnoopingMacGroup,
                igmpSnoopingJoinedPorts,
                enhancedMode
             Fix TYPO"

		REVISION    "201602190000Z"
		DESCRIPTION
            "Support TurboPack2 v3.3 firmware,
              Added new objects: 
            	timeProtocolOption,
            	loopProtection,
            	calibratePeriod,

             Modified objects:
             	trafficPrioritization,
             	dhcpRelayAgentSetting,
             	Vlan,
             	enableModbusTCP,
            	enableWarmStart"

		REVISION    "201210050000Z"
		DESCRIPTION
            "Support PROFINET IO firmware,
             Added new objects:
            	enableProfinetIO"

		REVISION    "201207220000Z"
		DESCRIPTION
            "Support TurboPack2 v3.1 firmware,
             Added new objects: 
            	spanningTreePortEdge,
            	enableEtherNetIP,
            	enableModbus,
            	enableNTPServer,
            	cpuLoading5s,
            	cpuLoading30s,
            	cpuLoading300s,
            	totalMemory,
            	freeMemory,
            	usedMemory,
            	memoryUsage,
            	 
             Modified objects:
             	Vlan,
             	commRedundancy,
             	rateLimiting"

	    ::= { industrialEthernet 6 }    -- 1.3.6.1.4.1.8691.7.6

-- -------------------------------------------------------------
-- groups in the MOXA-EDS405A MIB
-- -------------------------------------------------------------
	mibNotificationsPrefix OBJECT IDENTIFIER
    ::= { eds405a 0 }

swMgmt		OBJECT IDENTIFIER ::= { eds405a 1 }			-- 1.3.6.1.4.1.8691.7.6.1
swTraps		OBJECT IDENTIFIER ::= { eds405a 2 }			-- 1.3.6.1.4.1.8691.7.6.2

-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------

PortList ::= TEXTUAL-CONVENTION
	STATUS			current
	DESCRIPTION		
        "Each octet within this value specifies a set of eight
        ports, with the first octet specifying ports 1 through
        8, the second octet specifying ports 9 through 16, etc.
        Within each octet, the most significant bit represents
        the lowest numbered port, and the least significant bit
        represents the highest numbered port.  Thus, each port
        of the bridge is represented by a single bit within the
        value of this object.  If that bit has a value of '1'
        then that port is included in the set of ports; the port
        is not included if its bit has a value of '0'."
    SYNTAX      OCTET STRING
	
-- -------------------------------------------------------------
-- swMgmt group
-- -------------------------------------------------------------

    numberOfPorts OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Total Ports."
        ::= { swMgmt 1 }
    
    switchModel OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The switch model."
        ::= { swMgmt 2 }
    
    firmwareVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The firmware version."
        ::= { swMgmt 4 }
    
    enableWebConfig OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the Web. configuration function."
        ::= { swMgmt 5 }
    
    consoleLoginMode OBJECT-TYPE
        SYNTAX INTEGER  { menu(0), cli(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This option can change console login mode."
        ::= { swMgmt 51 }    
    
    enableTelnetConsole OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable telnet console."
        ::= { swMgmt 6 }
    
    lineSwapRecovery OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable line-swap-fast-recovery function."
        ::= { swMgmt 7 }
    
    webTimeout OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Web Timeout"
        ::= { swMgmt 43 }
        
    ageTime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Web Timeout"
        ::= { swMgmt 44 }    
-- -------------------------------------------------------------
-- network settings
-- -------------------------------------------------------------
    
    networkSetting OBJECT IDENTIFIER ::= { swMgmt 8 }
    
    switchIpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The IP Address of this switch."
        ::= { networkSetting 1 }
    
    switchIpMask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The netmask of this switch."
        ::= { networkSetting 2 }
    
    defaultGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The default gateway of this switch."
        ::= { networkSetting 3 }
    
    enableAutoIpConfig OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enableDHCP(1),enableBOOTP(2)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the automatic IP address configuration function."
        ::= { networkSetting 4 }
    
    dnsServer1IpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The first DNS server's IP address"
        ::= { networkSetting 5 }
        
    snmpTrapCommunity OBJECT-TYPE
        SYNTAX DisplayString 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The SNMP trap community name"
        ::= { networkSetting 6 }
    
    trapServerAddr OBJECT-TYPE
        SYNTAX DisplayString 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The IP address/Domain name of SNMP trap server"
        ::= { networkSetting 7 }
        
    dnsServer2IpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The second DNS server's IP address"
        ::= { networkSetting 8 }

    snmpReadCommunity OBJECT-TYPE
        SYNTAX DisplayString 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The SNMP read community name"
        ::= { networkSetting 9 }

    snmpTrap2Community OBJECT-TYPE
        SYNTAX DisplayString 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Second SNMP trap community name"
        ::= { networkSetting 11 }
    
    trap2ServerAddr OBJECT-TYPE
        SYNTAX DisplayString 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The IP address/Domain name of Second SNMP trap server"
        ::= { networkSetting 12 }
        
    snmpInformEnable OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the snmpInform function."
        ::= { networkSetting 13 }
    
    snmpInformRetries OBJECT-TYPE
        SYNTAX INTEGER (1..99)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The snmp inform retry times of SNMP trap server"            
        ::= { networkSetting 14 }
    
    snmpInformTimeout OBJECT-TYPE
        SYNTAX INTEGER (1..300)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The snmp inform interval of SNMP trap server"   
        ::= { networkSetting 15 }            
                
     dhcpRetryPeriods  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The DHCP retry periods."   
        ::= { networkSetting 16 }                
     
     dhcpRetryTimes  OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The dhcp retry times."   
        ::= { networkSetting 17 }                   
                
-- -------------------------------------------------------------
-- port settings
-- -------------------------------------------------------------

    portSetting OBJECT IDENTIFIER ::= { swMgmt 9 }
    
    portTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The port table."
        ::= { portSetting 1 }
    
    portEntry OBJECT-TYPE
        SYNTAX PortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The port entry."
        INDEX { portIndex }
        ::= { portTable 1 }
        
    PortEntry ::=
        SEQUENCE {
            portIndex
                INTEGER,
            portDesc
            	DisplayString,
            portEnable
                INTEGER,
            portSpeed
                INTEGER,
            portMDI
                INTEGER,
            portFDXFlowCtrl
                INTEGER,
            portName
                DisplayString,
            portSubdesc
                DisplayString
        }
    
    portIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The port index."
        ::= { portEntry 1 }
        
    portDesc OBJECT-TYPE
        SYNTAX DisplayString 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The port description"
        ::= { portEntry 2 } 

    portEnable OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the port."
        ::= { portEntry 3 }
    
    portSpeed OBJECT-TYPE
        SYNTAX INTEGER {
	        auto(0),
	        speed100M-Full(1),
	        speed100M-Half(2),
	        speed10M-Full(3),
	        speed10M-Half(4)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The port speed and duplex."
        ::= { portEntry 4 }
    
    portMDI OBJECT-TYPE
        SYNTAX INTEGER
        {
        	na(0),
            auto(1),
            mdi(2),
            mdiX(3)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port MDI/MDIX."
        ::= { portEntry 5 }     
        
    portFDXFlowCtrl OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port FDX Flow Control"
        ::= { portEntry 6 } 
        
    portName OBJECT-TYPE
        SYNTAX DisplayString 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port Name"
        ::= { portEntry 7 } 
        
    portSubdesc OBJECT-TYPE
        SYNTAX DisplayString 
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The port second description"
        ::= { portEntry 8 } 
        
-- -------------------------------------------------------------
-- monitor
-- -------------------------------------------------------------

    monitor OBJECT IDENTIFIER ::= { swMgmt 10 }
    
    power1InputStatus OBJECT-TYPE
        SYNTAX INTEGER { not-present(0), present(1) }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The status of the first power input."
        ::= { monitor 1 }
    
    power2InputStatus OBJECT-TYPE
        SYNTAX INTEGER { not-present(0), present(1) }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The status of the second power input."
        ::= { monitor 2 }

    monitorPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MonitorPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The  port table of monitor function."
        ::= { monitor 3 }
    
    monitorPortEntry OBJECT-TYPE
        SYNTAX MonitorPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The port table entry of monitor function."
        INDEX { portIndex }        
        ::= { monitorPortTable 1 }
        
    MonitorPortEntry ::=
        SEQUENCE {
            monitorLinkStatus
                INTEGER,
            monitorSpeed
                INTEGER,
            monitorAutoMDI
                INTEGER,
            monitorTraffic
                INTEGER,
            monitorFDXFlowCtrl
                INTEGER,
            monitorTxTraffic
                INTEGER,
            monitorRxTraffic
                INTEGER
        }
        
    monitorLinkStatus OBJECT-TYPE
        SYNTAX INTEGER { disable(-1), off(0), on(1) }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The port link status."
        ::= { monitorPortEntry 2}
    
    monitorSpeed OBJECT-TYPE
        SYNTAX INTEGER
            {
            speed100M-Full(3),
            speed100M-Half(2),
            speed10M-Full(1),
            speed10M-Half(0),
            na(-1)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The port speed and duplex status."
        ::= { monitorPortEntry 3 }
    
    monitorAutoMDI OBJECT-TYPE
        SYNTAX INTEGER
            {
            mdiX(1),
            mdi(0),
            na(-1)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The port MDI/MDIX status."
        ::= { monitorPortEntry 4 }
    
    monitorTraffic OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The traffic loading percentage of port."
        ::= { monitorPortEntry 5 }
        
    monitorFDXFlowCtrl OBJECT-TYPE
        SYNTAX INTEGER { off(0),on(1)}
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The Full-Duplex flow control status"
        ::= { monitorPortEntry 6 }
        
   	monitorTxTraffic OBJECT-TYPE
		    SYNTAX INTEGER
		    MAX-ACCESS read-only                
		    STATUS current
		    DESCRIPTION
		        "The TX  traffic loading percentage of port."
		    ::= { monitorPortEntry 7 }
		
		monitorRxTraffic OBJECT-TYPE
		    SYNTAX INTEGER
		    MAX-ACCESS read-only                
		    STATUS current
		    DESCRIPTION
		        "The RTX  traffic loading percentage of port."
		    ::= { monitorPortEntry 8 }            
         
-- -------------------------------------------------------------
-- email warning
-- -------------------------------------------------------------
        
    emailWarning OBJECT IDENTIFIER ::= { swMgmt 11 }     
    emailService OBJECT IDENTIFIER ::= { emailWarning 1 }
        
    emailWarningMailServer OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The email server's Ip Address/Domain name of email warning function."
        ::= { emailService 1 }
    
    emailWarningSMTPPort OBJECT-TYPE    
        SYNTAX INTEGER (1..65536)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The email server's SMTP port of email warning function."
        ::= { emailService 6 }     
        
            
    emailWarningFirstEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The first email address of email warning function."
        ::= { emailService 2 }
        
    emailWarningSecondEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The second email address of email warning function."
        ::= { emailService 3 }
        
    emailWarningThirdEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The third email address of email warning function."
        ::= { emailService 4 }
        
    emailWarningFourthEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The fourth email address of email warning function."
        ::= { emailService 5 }

	
        
    emailWarningEventType OBJECT IDENTIFIER ::= { emailWarning 2 }
        
    emailWarningEventServerColdStart OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The switch cold start event of email warning function."
        ::= { emailWarningEventType 1 }
        
    emailWarningEventServerWarmStart OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The switch warm start event of email warning function."
        ::= { emailWarningEventType 2 }
        
    emailWarningEventConfigChange OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The configuration changed event of email warning function."
        ::= { emailWarningEventType 3 }
        
    emailWarningEventPowerOn2Off OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The power on event of email warning function."
        ::= { emailWarningEventType 4 }
        
    emailWarningEventPowerOff2On OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The power off event of email warning function."
        ::= { emailWarningEventType 5 }
        
    emailWarningEventAuthFail OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The authentication fail event of email warning function."
        ::= { emailWarningEventType 6 }
        
    emailWarningEventTopologyChanged OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The communication redundancy topology changed event of email warning function."
        ::= { emailWarningEventType 7 }     
    
    emailWarningEventPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF EmailWarningEventPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The port table of the email warning event."
        ::= { emailWarning 3 }
    
    emailWarningEventPortEntry OBJECT-TYPE
        SYNTAX EmailWarningEventPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The port table entry of the email warning event."
        INDEX { portIndex }        
        ::= { emailWarningEventPortTable 1 }
        
    EmailWarningEventPortEntry ::=
        SEQUENCE {
            emailWarningEventPortLinkOn
                INTEGER,
            emailWarningEventPortLinkOff
                INTEGER,
            emailWarningEventPortTrafficOverload
                INTEGER,
            emailWarningEventPortRxTrafficThreshold
                INTEGER,
            emailWarningEventPortTrafficDuration
                INTEGER             
        }
        
    emailWarningEventPortLinkOn OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The port link on event of email warning function."
        ::= { emailWarningEventPortEntry 2 }
        
    emailWarningEventPortLinkOff OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The port link off event of email warning function."
        ::= { emailWarningEventPortEntry 3 }
        
    emailWarningEventPortTrafficOverload OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The port's traffic overloading event of email warning function."
        ::= { emailWarningEventPortEntry 4 }
        
    emailWarningEventPortRxTrafficThreshold OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port's traffic threshold of the overloading event."
        ::= { emailWarningEventPortEntry 5 }   
        
    emailWarningEventPortTrafficDuration OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port's traffic duration of the overloading event."
        ::= { emailWarningEventPortEntry 6 }        
    
         
-- -------------------------------------------------------------
-- set device ip
-- -------------------------------------------------------------

    setDeviceIp OBJECT IDENTIFIER ::= { swMgmt 12 }
        
    setDevIpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SetDevIpEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The set device IP table."
        ::= { setDeviceIp 1 }
    
    setDevIpEntry OBJECT-TYPE
        SYNTAX SetDevIpEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The set device IP table entry."
        INDEX { setDevIpIndex }
        ::= { setDevIpTable 1 }
        
    SetDevIpEntry ::=
        SEQUENCE {
            setDevIpIndex
                INTEGER,
            setDevIpCurrentIpofDevice
                DisplayString,
            setDevIpPresentBy
                INTEGER,
            setDevIpDedicatedIp
                IpAddress
        }
    setDevIpIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The set device IP index."
        ::= { setDevIpEntry 1 }
    
    setDevIpCurrentIpofDevice OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The current IP address of connected to this port."
        ::= { setDevIpEntry 2 }
    
    setDevIpPresentBy OBJECT-TYPE
        SYNTAX INTEGER
            {
            no(0),
            dhcpClient(1),
            rarp(2),
            bootp(4)
            }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The protocol used that assigning IP to the device."
        ::= { setDevIpEntry 3 }
    
    setDevIpDedicatedIp OBJECT-TYPE
        SYNTAX IpAddress 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The IP address when assign to the device connected to this port."
        ::= { setDevIpEntry 4 } 
        
-- -------------------------------------------------------------
-- port mirror
-- -------------------------------------------------------------

    mirroring OBJECT IDENTIFIER ::= { swMgmt 13 }
        
    targetPort OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The mirrored port of mirroring function."
        ::= { mirroring 1 }
    
    mirroringPort OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The mirroring port of mirroring function."
        ::= { mirroring 2 }
    
    monitorDirection OBJECT-TYPE
        SYNTAX INTEGER
            {
            outputDataStream(1),
            biDirectional(2)
            }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The traffic direction of mirroring function."
        ::= { mirroring 3 }     
    
-- -------------------------------------------------------------
-- communication redundancy
-- -------------------------------------------------------------
        
    commRedundancy OBJECT IDENTIFIER ::= { swMgmt 16 }        
    
    protocolOfRedundancySetup OBJECT-TYPE
        SYNTAX INTEGER  { spanningTree(1), turboRing(2), turboRingV2(3), turboChain(4) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "This set the redundancy protocol of this switch. "
        ::= { commRedundancy 1 }
    
    turboRing OBJECT IDENTIFIER ::= { commRedundancy 2}
    
    turboRingMaster OBJECT-TYPE
        SYNTAX INTEGER  { no(0), yes(1) }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "Is this a Master or Slave."
        ::= { turboRing 1 }
        
    turboRingMasterSetup OBJECT-TYPE
        SYNTAX INTEGER  { no(0), yes(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set this to be Master."
        ::= { turboRing 2 }
                
    turboRingPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF TurboRingPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Turbo Ring Port Table."
        ::= { turboRing 3 }
    
    turboRingPortEntry OBJECT-TYPE
        SYNTAX TurboRingPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Turbo Ring Port Entry."
        INDEX { turboRingPortIndex  }
        ::= { turboRingPortTable 1 }
        
    TurboRingPortEntry ::=
        SEQUENCE {
            turboRingPortIndex
                INTEGER,
            turboRingPortStatus
                INTEGER,  
            turboRingPortDesignatedBridge
                OCTET STRING,
            turboRingPortDesignatedPort
                INTEGER
        }
    turboRingPortIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "Turbo Ring Port Index."
        ::= { turboRingPortEntry 1 }
    
    turboRingPortStatus OBJECT-TYPE
        SYNTAX INTEGER 
            {
            portDisabled(0),     
            notTurboRingPort(1),
            linkDown(2),
            blocked(3),
            learning(4),
            forwarding(5)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Turbo Ring Port Status."
        ::= { turboRingPortEntry 2 } 
        
     turboRingPortDesignatedBridge OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
             "The MAC address of the bridge which this
              port considers to be the Designated Bridge for
              this port's segment."
        ::= { turboRingPortEntry 3 }

    turboRingPortDesignatedPort OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The Port Number of the port on the Designated
               Bridge for this port's segment."  
     ::= { turboRingPortEntry 4 }
        
    turboRingDesignatedMaster OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
             "The MAC address of the bridge which is the Master of the TURBO RING."
        ::= { turboRing 6 } 
        
    turboRingRdntPort1 OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The port number of 1st Redundant Port on the TURBO RING."
        ::= { turboRing 7 } 
        
    turboRingRdntPort2 OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The port number of 2nd Redundant Port on the TURBO RING."
        ::= { turboRing 8 } 
        
    turboRingEnableCoupling OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the ring coupling function."
        ::= { turboRing 9 }     
        
    turboRingCouplingPort OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The coupling port of ring coupling function."
        ::= { turboRing 10 }
    
    turboRingCouplingPortStatus OBJECT-TYPE
        SYNTAX INTEGER 
            {
            portDisabled(0),      
            notCouplingPort(1),
            linkDown(2),
            blocked(3),
            forwarding(5)
            }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The coupling port status of ring coupling function."
        ::= { turboRing 11 }        
        
    turboRingControlPort OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The control port of ring coupling function."
        ::= { turboRing 12 }

    turboRingControlPortStatus OBJECT-TYPE
        SYNTAX INTEGER 
            {
            portDisabled(0),      
            notControlPort(1),
            linkDown(2),
            blocked(3),
            forwarding(5),
            inactive(6),
            active(7)
            }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The control port status of ring coupling function."
        ::= { turboRing 13 }        
        
    turboRingBrokenStatus OBJECT-TYPE
        SYNTAX INTEGER
            {
            na(0),
            normal(1),
            broken(2)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Turbo Ring broken display."
        ::= { turboRing 14 }    
        
    spanningTree OBJECT IDENTIFIER ::= { commRedundancy 3 }
        
    spanningTreeRoot OBJECT-TYPE
        SYNTAX INTEGER  { no(0), yes(1) }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The root of spanning tree."
        ::= { spanningTree 1 }
    
    spanningTreeBridgePriority OBJECT-TYPE

        SYNTAX INTEGER {priority0(0), priority4096(4096), priority8192(8192), priority12288(12288),
                        priority16384(16384), priority20480(20480), priority24576(24576),
                        priority28672(28672), priority32768(32768), priority36864(36864),
                        priority40960(40960), priority45056(45056), priority49152(49152),
                        priority53248(53248), priority57344(57344), priority61440(61440)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The bridge priority of spanning tree protocol."
        ::= { spanningTree 2 }
    
    spanningTreeHelloTime OBJECT-TYPE
        SYNTAX INTEGER  
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The hello time of spanning tree protocol."
        ::= { spanningTree 3 }
    
    spanningTreeMaxAge OBJECT-TYPE
        SYNTAX INTEGER  
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The max. age of spanning tree protocol."
        ::= { spanningTree 4 }
    
    spanningTreeForwardingDelay OBJECT-TYPE
        SYNTAX INTEGER  
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Tje forwarding delay of spanning tree protocol."
        ::= { spanningTree 5 }
    
    spanningTreeTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SpanningTreeEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The spanning tree table."
        ::= { spanningTree 6 }
    
    spanningTreeEntry OBJECT-TYPE
        SYNTAX SpanningTreeEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The spanning tree port entry."
        INDEX { spanningTreeIndex }
        ::= { spanningTreeTable 1 }
        
    SpanningTreeEntry ::=
        SEQUENCE {
            spanningTreeIndex
                INTEGER,
            enableSpanningTree
                INTEGER,
            spanningTreePortPriority
                INTEGER,
            spanningTreePortCost
                INTEGER,
            spanningTreePortStatus
                INTEGER,
            spanningTreePortEdge
                INTEGER
        }
    spanningTreeIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The index of spanning tree table."
        ::= { spanningTreeEntry 1 }
    enableSpanningTree OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable of spanning tree protocol for this port."
        ::= { spanningTreeEntry 2 }
    
    spanningTreePortPriority OBJECT-TYPE

        SYNTAX INTEGER {priority0(0), priority16(16), priority32(32), priority48(48),
                        priority64(64), priority80(80), priority96(96), priority112(112),
                        priority128(128), priority144(144), priority160(160), priority176(176),
                        priority192(192), priority208(208), priority224(224), priority240(240)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port priority of spanning tree protocol."
        ::= { spanningTreeEntry 3 }
    
    spanningTreePortCost OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port cost of spanning tree protocol."
        ::= { spanningTreeEntry 4 }
    
    spanningTreePortStatus OBJECT-TYPE
        SYNTAX INTEGER 
            {
            portDisabled(0),
            notSpanningTreePort(1),
            linkDown(2),
            blocked(3),
            learning(4),
            forwarding(5)
            }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The port status of spanning tree protocol."
        ::= { spanningTreeEntry 5 }     
        
   spanningTreePortEdge OBJECT-TYPE
        SYNTAX INTEGER { auto(0), forceEdge(1), false(2) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This configures the Edge Port property for this port."
        ::= { spanningTreeEntry 6 }
		
   activeProtocolOfRedundancy OBJECT-TYPE
        SYNTAX INTEGER  { none(0), spanningTree(1), turboRing(2), turboRingV2(3), turboChain(4)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This shows the active redundancy protocol of this switch now. The none(0) status will 
         be showed if only if the switch's redundancy protocol is set to spanning tree and none of
         ports enable spanning tree."
        ::= { commRedundancy 4 }    
        
   turboRingV2 OBJECT IDENTIFIER ::= { commRedundancy 5}                                    
     
   turboRingV2Ring1 OBJECT IDENTIFIER ::= { turboRingV2 1 }    
     
   ringIndexRing1 OBJECT-TYPE
        SYNTAX INTEGER (1..2)
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The turboRingV2 Ring Index."
        ::= { turboRingV2Ring1 1 }
                  
    ringEnableRing1 OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The turboRingV2 Ring1 enable config."
        ::= { turboRingV2Ring1 2 }
        
    masterSetupRing1 OBJECT-TYPE
        SYNTAX INTEGER  { no(0), yes(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Is this a Master or Slave."
        ::= { turboRingV2Ring1 3 }
        
    masterStatusRing1 OBJECT-TYPE
        SYNTAX INTEGER  { no(0), yes(1) }
        MAX-ACCESS read-only                 
        STATUS current
        DESCRIPTION
            "Set this to be Master."
        ::= { turboRingV2Ring1 4 }    
        
    designatedMasterRing1 OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
             "The MAC address of the bridge which is the Master of the turboRingV2."
        ::= { turboRingV2Ring1 5 } 
        
    rdnt1stPortRing1 OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The port number of 1st Redundant Port on the turboRingV2."
        ::= { turboRingV2Ring1 6 } 
        
    rdnt1stPortStatusRing1 OBJECT-TYPE
        SYNTAX INTEGER 
            {
            disabled(0),
            notRedundant(1),
            linkdown(2),      
            blocking(3),
            learning(4),
            forwarding(5) 
            }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
             "The status of 1st Redundant Port on the turboRingV2."
        ::= { turboRingV2Ring1 7 }         
        
    rdnt2ndPortRing1 OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The port number of 2nd Redundant Port on the turboRingV2."
        ::= { turboRingV2Ring1 8 }            
        
         
      rdnt2ndPortStatusRing1 OBJECT-TYPE
        SYNTAX INTEGER 
            {
            disabled(0),
            notRedundant(1),
            linkdown(2),      
            blocking(3),
            learning(4),
            forwarding(5) 
            }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
             "The status of 2nd Redundant Port on the turboRingV2."
        ::= { turboRingV2Ring1 9 }
       
    brokenStatusRing1 OBJECT-TYPE
        SYNTAX INTEGER
            {
            na(0),
            normal(1),
            broken(2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "turboRingV2 broken display."
        ::= { turboRingV2Ring1 10 }                
    
    turboRingV2Ring2 OBJECT IDENTIFIER ::= { turboRingV2 2 }    
 
    ringIndexRing2 OBJECT-TYPE
        SYNTAX INTEGER (1..2)
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The turboRingV2 Ring Index."
        ::= { turboRingV2Ring2 1 }
                  
    ringEnableRing2 OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The turboRingV2 Ring2 enable config."
        ::= { turboRingV2Ring2 2 }
        
    masterSetupRing2 OBJECT-TYPE
        SYNTAX INTEGER  { no(0), yes(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Is this a Master or Slave."
        ::= { turboRingV2Ring2 3 }
        
    masterStatusRing2 OBJECT-TYPE
        SYNTAX INTEGER  { no(0), yes(1) }
        MAX-ACCESS read-only                 
        STATUS current
        DESCRIPTION
            "Set this to be Master."
        ::= { turboRingV2Ring2 4 }    
        
    designatedMasterRing2 OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
             "The MAC address of the bridge which is the Master of the turboRingV2."
        ::= { turboRingV2Ring2 5 } 
        
    rdnt1stPortRing2 OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The port number of 1st Redundant Port on the turboRingV2."
        ::= { turboRingV2Ring2 6 } 
        
    rdnt1stPortStatusRing2 OBJECT-TYPE
        SYNTAX INTEGER 
            {
            disabled(0),
            notRedundant(1),
            linkdown(2),      
            blocking(3),
            learning(4),
            forwarding(5) 
            }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
             "The status of 1st Redundant Port on the turboRingV2."
        ::= { turboRingV2Ring2 7 }         
        
    rdnt2ndPortRing2 OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The port number of 2nd Redundant Port on the turboRingV2."
        ::= { turboRingV2Ring2 8 }            
        
        
      rdnt2ndPortStatusRing2 OBJECT-TYPE
        SYNTAX INTEGER 
            {
            disabled(0),
            notRedundant(1),
            linkdown(2),      
            blocking(3),
            learning(4),
            forwarding(5) 
            }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
             "The status of 2nd Redundant Port on the turboRingV2."
        ::= { turboRingV2Ring2 9 }
                 
    brokenStatusRing2 OBJECT-TYPE
        SYNTAX INTEGER
            {
            na(0),
            normal(1),
            broken(2)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "turboRingV2 broken display."
        ::= { turboRingV2Ring2 10 }                           
                      
    turboRingV2Coupling OBJECT IDENTIFIER ::= { turboRingV2 3 }        
    
    couplingEnable OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Setting the ring coupling enable."
        ::= { turboRingV2Coupling 1 }     
        
    couplingMode OBJECT-TYPE
               SYNTAX INTEGER  { dualHoming(1), couplingBackup(2), couplingPrimary(3) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Setting the ring coupling mode."
        ::= { turboRingV2Coupling 2 }     
        
    coupling1stPort OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "If in 'DUAL HOMING' mode, port name is 'Primary port'; if in 'COUPLING' mode, port name is 'Coupling port'"
        ::= { turboRingV2Coupling 3 }
    
    coupling1stPortStatus OBJECT-TYPE
        SYNTAX INTEGER 
            {
            disabled(0),
            notRedundant(1),
            linkdown(2),      
            blocking(3),
            learning(4),
            forwarding(5) 
            }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The 1st coupling port status of coupling function."
        ::= { turboRingV2Coupling 4 }        
        
    coupling2ndPort OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "If in 'DUAL HOMING' mode, port name is 'Backup port'; if in 'COUPLING' mode, port name is no used."
        ::= { turboRingV2Coupling 5 }

    coupling2ndPortStatus OBJECT-TYPE
        SYNTAX INTEGER 
            {
            disabled(0),
            notRedundant(1),
            linkdown(2),      
            blocking(3),
            learning(4),
            forwarding(5) 
            }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The 2nd coupling port status of coupling function."
        ::= { turboRingV2Coupling 6 }         
        
        
 turboChain OBJECT IDENTIFIER ::= { commRedundancy 6}
 
    turboChainRole OBJECT-TYPE
        SYNTAX  INTEGER
            {
            head(1),     
            member(2),
            tail(3)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The Role of TURBO CHAIN."
        ::= { turboChain 1 } 
           
    turboChainPort1 OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The port number of 1st Redundant Port on the TURBO CHAIN.
             If switch role is Turbo Chain Head, this is Head port,
             If Switch role is  Turbo Chain Tail, this is Tail port."  
        ::= { turboChain 2 } 
    
    turboChainPort2 OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The port number of 2nd Redundant Port on the TURBO CHAIN.
             It is the member port of TurboChain"
        ::= { turboChain 3 } 

    turboChainPort1Status OBJECT-TYPE
        SYNTAX INTEGER 
            {
            notTurboChainPort(0),     
            linkDown(1),
            blocking(2),
            blocked(3),
            forwarding(4),
            na(5)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Turbo Chain Port Status."
        ::= { turboChain 4 } 
        
     turboChainPort2Status OBJECT-TYPE
        SYNTAX INTEGER 
            {
            notTurboChainPort(0),     
            linkDown(1),
            blocking(2),
            blocked(3),
            forwarding(4),
            na(5)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Turbo Chain Port Status."
        ::= { turboChain 5 } 
        
     turboChainPort1PartnerBridge OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
             "The MAC address of the next bridge "
        ::= { turboChain 6 }
        
     turboChainPort2PartnerBridge OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
             "The MAC address of the neighbor Turbo Chain switch"
        ::= { turboChain 7 }
 
-- -------------------------------------------------------------
-- relay warning
-- -------------------------------------------------------------

    relayWarning OBJECT IDENTIFIER ::= { swMgmt 17 }   
    
    relayWarningTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RelayWarningEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The relay warning table."
        ::= { relayWarning 11 }
    
    relayWarningEntry OBJECT-TYPE
        SYNTAX RelayWarningEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Relay Warning Entry."
        INDEX { relayAlarmIndex }
        ::= { relayWarningTable 1 }
        
    RelayWarningEntry ::=
        SEQUENCE {
            relayAlarmIndex
                INTEGER,   
            relayWarningRelayContact
                INTEGER,            
            overrideRelayWarningSetting
                INTEGER,
            relayWarningPower1Off
                INTEGER,   
            relayWarningPower1OffStatus
                INTEGER,
            relayWarningPower2Off
                INTEGER,
            relayWarningPower2OffStatus
                INTEGER,
            relayWarningTurboRingBreak
            	INTEGER ,     
           relayWarningTurboRingBreakStatus
            	INTEGER                	      
        }
        
    relayAlarmIndex OBJECT-TYPE
        SYNTAX INTEGER  
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The Relay alarm index."
        ::= { relayWarningEntry 1 }
        
    relayWarningRelayContact OBJECT-TYPE
        SYNTAX INTEGER  {closed(0) ,opened(1)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The first Relay contact status."
        ::= { relayWarningEntry 2 }

    
    overrideRelayWarningSetting OBJECT-TYPE
        SYNTAX INTEGER { no(0), yes(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Override the relay warning setting."
        ::= { relayWarningEntry 3 }
        
    relayWarningPower1Off OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The relay contact will be opened while the first power input off."
        ::= { relayWarningEntry 4 }    
        
    relayWarningPower1OffStatus OBJECT-TYPE
        SYNTAX INTEGER  { not-triggered(0), triggered(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The relay contact is opened as the first power input off.."
        ::= { relayWarningEntry 5 }    
        
    relayWarningPower2Off OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The relay contact will be opened while the second power input off."
        ::= { relayWarningEntry 6 }
        
    relayWarningPower2OffStatus OBJECT-TYPE
        SYNTAX INTEGER  { not-triggered(0), triggered(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The relay contact is opened as the second power input off."
        ::= { relayWarningEntry 7 }

    relayWarningTurboRingBreak OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The relay contact will be opened while turbo ring break."
        ::= { relayWarningEntry 8 }      
        
   	relayWarningTurboRingBreakStatus OBJECT-TYPE
       SYNTAX INTEGER  { not-triggered(0), triggered(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The relay contact is opened while turbo ring is broken."
        ::= { relayWarningEntry 9 }                 
        
    portRelayWarningTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PortRelayWarningEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The relay warning port table."
        ::= { relayWarning 12 }
    
    portRelayWarningEntry OBJECT-TYPE
        SYNTAX PortRelayWarningEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Port Relay Warning Entry."
        INDEX { portIndex,relayAlarmIndex }
        ::= { portRelayWarningTable 1 }
        
    PortRelayWarningEntry ::=
        SEQUENCE {
            relayWarningLinkChanged
                INTEGER,            
            relayWarningLinkChangedStatus
                INTEGER,
            relayWarningTrafficOverload
                INTEGER,   
            relayWarningTrafficOverloadStatus
                INTEGER,
            relayWarningRxTrafficThreshold
                INTEGER,
            relayWarningTrafficDuration
                INTEGER             
        }
    
    relayWarningLinkChanged OBJECT-TYPE
        SYNTAX INTEGER  { ignore(0), on2off(1), off2on(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The relay contact will be opened while this port's link status is changed."
        ::= { portRelayWarningEntry 1 }
                                                  
    relayWarningLinkChangedStatus OBJECT-TYPE
        SYNTAX INTEGER  { not-triggered(0), triggered(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The relay contact is opened as this port's link status is changed."
        ::= { portRelayWarningEntry 2 }
                                                  
    relayWarningTrafficOverload OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The relay contact will be opened while this port's traffic is overload."
        ::= { portRelayWarningEntry 3 }  
        
    relayWarningTrafficOverloadStatus OBJECT-TYPE
        SYNTAX INTEGER  { not-triggered(0), triggered(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The relay contact is opened as this port's traffic is overload."
        ::= { portRelayWarningEntry 4 }
        
    relayWarningRxTrafficThreshold OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The threshold of the port traffic will be over loading."
        ::= { portRelayWarningEntry 5 }         
        
    relayWarningTrafficDuration OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The duration of the port traffic will be over loading."
        ::= { portRelayWarningEntry 6 }     
        
    
-- -------------------------------------------------------------
-- traffic prioritization
-- -------------------------------------------------------------
        
    trafficPrioritization OBJECT IDENTIFIER ::= { swMgmt 18 }
    
    qosClassification OBJECT IDENTIFIER ::= { trafficPrioritization 1 }
    queuingMechanism OBJECT-TYPE
        SYNTAX INTEGER {schedweightfair(0),schedstrict(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The queuing mechanism."
        ::= { qosClassification 1 }  
        
    qosPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QosPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The QoS port table."
        ::= { qosClassification 2 }
    
    qosPortEntry OBJECT-TYPE
        SYNTAX QosPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The QoS Port Entry."
        INDEX { portIndex }
        ::= { qosPortTable 1 }
        
    QosPortEntry ::=
        SEQUENCE {
            inspectTos
                INTEGER,            
            inspectCos
                INTEGER,
            portPriority
                INTEGER
            } 
    
    inspectTos OBJECT-TYPE
        SYNTAX INTEGER {no (0),yes(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the inspection of TOS field."
        ::= { qosPortEntry 1 }  
        
    inspectCos OBJECT-TYPE
        SYNTAX INTEGER {no (0),yes(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the inspection of CoS field."
        ::= { qosPortEntry 2 }  
        
    portPriority OBJECT-TYPE
       SYNTAX INTEGER {priority0(0), priority1(1), priority2(2), priority3(3),
        				priority4(4), priority5(5), priority6(6), priority7(7)
       	}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The default priority of the port."
        ::= { qosPortEntry 3 }  
        
    cosMapping OBJECT IDENTIFIER ::= { trafficPrioritization 2 }
    cosMappingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF CosMappingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The COS mapping table."
        ::= { cosMapping 1 }
    
    cosMappingEntry OBJECT-TYPE
        SYNTAX CosMappingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The COS mapping Entry."
        INDEX { cosTag}
        ::= { cosMappingTable 1 }
        
    CosMappingEntry ::=
        SEQUENCE {
            cosTag
                INTEGER,            
            cosMappedPriority
                INTEGER
            } 
    
    cosTag OBJECT-TYPE
        SYNTAX INTEGER (0..7) 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The cos tag of TOS field."
        ::= { cosMappingEntry 1 }  
        
    cosMappedPriority OBJECT-TYPE
        SYNTAX INTEGER {low(0),normal(1),medium(2),high(3)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The frame's priority corresponding to it's COS tag value."
        ::= { cosMappingEntry 2 }  
    
    tosMapping OBJECT IDENTIFIER ::= { trafficPrioritization 3 }    
    tosMappingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF TosMappingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The TOS mapping table."
        ::= { tosMapping 1 }
    
    tosMappingEntry OBJECT-TYPE
        SYNTAX TosMappingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "TOS mapping Entry."
        INDEX { tosClass }
        ::= { tosMappingTable 1 }
        
    TosMappingEntry ::=
        SEQUENCE {
            tosClass
                INTEGER,            
            tosMappedPriority
                INTEGER
            } 
    
    tosClass OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The TOS class of TOS field."
        ::= { tosMappingEntry 1 }  
        
    tosMappedPriority OBJECT-TYPE
        SYNTAX INTEGER {low(0),normal(1),medium(2),high(3)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The frame's priority corresponding to it's TOS class value."
        ::= { tosMappingEntry 2 }  
    
-- -------------------------------------------------------------
-- vlan
-- -------------------------------------------------------------        
    
    vlan OBJECT IDENTIFIER ::= { swMgmt 19 }
    vlanPortSettingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VlanPortSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The vlan setting table of ports."
        ::= { vlan 1 }
    
    vlanPortSettingEntry OBJECT-TYPE
        SYNTAX VlanPortSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Port Setting Entry of VLAN."
        INDEX { portIndex }
        ::= { vlanPortSettingTable 1 }
        
    VlanPortSettingEntry ::=
        SEQUENCE {
            portVlanType
                INTEGER,           
            portDefaultVid
                INTEGER,
            portFixedVid
                DisplayString,
            portFixedVidUntag
                DisplayString,         
            portForbiddenVid
                DisplayString
            } 
    
    portVlanType OBJECT-TYPE
        SYNTAX INTEGER {access(0),trunk(1),hybrid(2)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The vlan type of port."
        ::= { vlanPortSettingEntry 1 }  
        
    portDefaultVid OBJECT-TYPE
        SYNTAX INTEGER (1..4094)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The PVID of port."
        ::= { vlanPortSettingEntry 2 }  
        
    portFixedVid OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The fixed vids of (trunk) port."
        ::= { vlanPortSettingEntry 3 }  
        
    portForbiddenVid OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The forbidden vids of (trunk)port."
        ::= { vlanPortSettingEntry 4 }      
        
    portFixedVidUntag OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The fixed untag vids of (trunk) port."
        ::= { vlanPortSettingEntry 5 }   
        
    vlanTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VlanEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The VLAN table."
        ::= { vlan 2 }
    
    vlanEntry OBJECT-TYPE
        SYNTAX VlanEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "VLAN Entry."
        INDEX { vlanId }
        ::= { vlanTable 1 }
        
    VlanEntry ::=
        SEQUENCE {
            vlanId
                INTEGER,           
            joinedAccessPorts
                PortList,
            joinedTrunkPorts
                PortList,
	    joinedHybridPorts
                PortList
            } 
    
    vlanId OBJECT-TYPE
        SYNTAX INTEGER (1..4094)
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The VLAN id."
        ::= { vlanEntry 1 }  

    joinedAccessPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The access ports that joined this VID."
        ::= { vlanEntry 2 }  
        
    joinedTrunkPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The trunk ports that joined this VID."
        ::= { vlanEntry 3 }     
        
    joinedHybridPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The hybrid ports that joined this VID."
        ::= { vlanEntry 4 }     
        
    managementVlanId OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The management VLAN id."
        ::= { vlan 3 }    
               
    vlanType OBJECT-TYPE
        SYNTAX INTEGER {tagBased(0),portBased(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "VLAN Type."
        ::= { vlan 4 }     
             
    portbaseVlanSettingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PortbaseVlanSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Port base Vlan Setting Table."
        ::= { vlan 5 }

    portbaseVlanSettingEntry OBJECT-TYPE
        SYNTAX PortbaseVlanSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Port base Vlan  Setting Entry."
        INDEX { portbaseVlanSettingIndex }
        ::= { portbaseVlanSettingTable 1 }
        
    PortbaseVlanSettingEntry ::=
        SEQUENCE {     
            portbaseVlanSettingIndex
                INTEGER,
            portbaseVlanMemberPorts
            	 PortList
            }     
    
    portbaseVlanSettingIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "port base Vlan Group Index."
        ::= { portbaseVlanSettingEntry 1 }

    portbaseVlanMemberPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "port base Vlan  Group Member Ports."
        ::= { portbaseVlanSettingEntry 2 }

    enableGvrp OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Enable GVRP."
        ::= { vlan 6 }  

-- -------------------------------------------------------------
-- multicast filtering
-- -------------------------------------------------------------        

    multicastFiltering OBJECT IDENTIFIER ::= { swMgmt 20 }
    igmpSnooping OBJECT IDENTIFIER ::= { multicastFiltering 1 }
    
    querierQueryInterval OBJECT-TYPE
        SYNTAX INTEGER (20..600)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This query interval of the querier function for this VLAN."
        ::= { igmpSnooping 1 }      
    
    igmpSnoopingSettingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpSnoopingSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The IGMP snooping setting table."
        ::= { igmpSnooping 2 }
    
    igmpSnoopingSettingEntry OBJECT-TYPE
        SYNTAX IgmpSnoopingSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The IGMP snooping setting Entry."
        INDEX { vlanId }
        ::= { igmpSnoopingSettingTable 1 }
        
    IgmpSnoopingSettingEntry ::=
        SEQUENCE {
            enableIgmpSnooping
                INTEGER,           
            enableQuerier
                INTEGER,
            fixedMulticastQuerierPorts
                PortList,
            learnedMulticastQuerierPorts
                PortList
            } 
    
    enableIgmpSnooping OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the IGMP snooping function in this VLAN."
        ::= { igmpSnoopingSettingEntry 1 }  
        
    enableQuerier OBJECT-TYPE 
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the querier function for this VLAN."
        ::= { igmpSnoopingSettingEntry 2 }  
    
    fixedMulticastQuerierPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The ports that multicast-Querier exist."
        ::= { igmpSnoopingSettingEntry 3 }  
        
    learnedMulticastQuerierPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The ports that multicast-Querier exist."
        ::= { igmpSnoopingSettingEntry 4 }      

    enableGlobalIgmpSnooping OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the IGMP snooping function ."
        ::= { igmpSnooping 4 }  

    staticMulticast OBJECT IDENTIFIER ::= { multicastFiltering 2 }
    staticMulticastTable OBJECT-TYPE
        SYNTAX SEQUENCE OF StaticMulticastEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The static multicast table."
        ::= { staticMulticast 1 }
    
    staticMulticastEntry OBJECT-TYPE
        SYNTAX StaticMulticastEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Static multicast Entry."
        INDEX { staticMulticastAddress }
        ::= { staticMulticastTable 1 }
        
    StaticMulticastEntry ::=
        SEQUENCE {
            staticMulticastAddress
                MacAddress,                
            staticMulticastPorts 
                PortList,
            staticMulticastStatus
                INTEGER
            } 
    
    staticMulticastAddress OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "The static multicast address."
        ::= { staticMulticastEntry 1 }  
        
    staticMulticastPorts OBJECT-TYPE
        SYNTAX	PortList
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "The port map of the static multicast address."
        ::= { staticMulticastEntry 2 }      
    
    staticMulticastStatus OBJECT-TYPE
        SYNTAX INTEGER {
            active(1),
            createAndGo(4),
            createAndWait(5),
            destroy(6)
        }
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "The status is active to indicate normal.
            Use createAndGo to create new on multiple SET.
            Use createAndWait to create new on one SET all then active.
            Use destroy to delete this row."
        ::= { staticMulticastEntry 3 }

		--
    -- GMRP
    --
    
    gmrp OBJECT IDENTIFIER ::= { multicastFiltering 3 }
    
    -- gmrp setting table    
    
    gmrpSettingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF GmrpSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The GMRP setting table."
        ::= { gmrp 1 }
    
    gmrpSettingEntry OBJECT-TYPE
        SYNTAX GmrpSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The GMRP Setting Entry."
        INDEX { portIndex }
        ::= { gmrpSettingTable 1 }
        
    GmrpSettingEntry ::=
        SEQUENCE {   
            enableGMRP
                INTEGER
        } 
    
    enableGMRP OBJECT-TYPE
        SYNTAX INTEGER {
        	disable(0),
        	enable(1)
        }
        MAX-ACCESS read-write              
        STATUS current
        DESCRIPTION
            "Enable/Disable GMRP."
        ::= { gmrpSettingEntry 1 }       
    
    -- gmrp status
    
    gmrpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF GmrpEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The GMRP status table."
        ::= { gmrp 2 }
    
    gmrpEntry OBJECT-TYPE
        SYNTAX GmrpEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The GMRP Status Entry."
        INDEX { gmrpMulticastGroup }
        ::= { gmrpTable 1 }
        
    GmrpEntry ::=
        SEQUENCE {
            gmrpMulticastGroup
                MacAddress,           
            gmrpFixedPorts
                PortList,
            gmrpLearnedPorts
                PortList
            } 
    
    gmrpMulticastGroup OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only              
        STATUS current
        DESCRIPTION
            "GMRP multicast group."
        ::= { gmrpEntry 1 }  
        
    gmrpFixedPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only              
        STATUS current
        DESCRIPTION
            "The ports that joined GMRP multicast group manually."
        ::= { gmrpEntry 2 }      
   
    gmrpLearnedPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The ports that joined GMRP multicast group by GMRP learning."
        ::= { gmrpEntry 3 }      


-- -------------------------------------------------------------
-- rate limiting
-- -------------------------------------------------------------        

    rateLimiting OBJECT IDENTIFIER ::= { swMgmt 21 }
    
     rateLimitingMode OBJECT-TYPE
        SYNTAX INTEGER {normal(0),portDisable(1)}
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The rate limiting mode."
        ::= { rateLimiting 4 }
    
-- normalMode --  

-- ingress --
    normalModeRateLimitingIngressTable OBJECT-TYPE
        SYNTAX SEQUENCE OF NormalModeRateLimitingIngressEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The rate limiting table."
        ::= { rateLimiting 1 }
    
    normalModeRateLimitingIngressEntry OBJECT-TYPE
        SYNTAX NormalModeRateLimitingIngressEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Rate limiting Entry."
        INDEX { portIndex }
        ::= { normalModeRateLimitingIngressTable 1 }
    
    NormalModeRateLimitingIngressEntry ::=
        SEQUENCE {
            limitMode
                INTEGER,            
            lowPriLimitRate
                INTEGER,
            normalPriLimitRate
                INTEGER,            
            mediumPriLimitRate
                INTEGER,
            highPriLimitRate
                INTEGER,
            egressLimit
                INTEGER                
            } 
    
    limitMode OBJECT-TYPE
        SYNTAX INTEGER {all(0),bmucast(1),bmcast(2),bcast(3)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The limit mode."
        ::= { normalModeRateLimitingIngressEntry 1 }  
        
    lowPriLimitRate OBJECT-TYPE
        SYNTAX INTEGER {notlimit(0),limit128k(1),limit256k(2),limit512k(3),
                        limit1M(4),limit2M(5),limit4M(6),limit8M(7)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The limiting rate of low priority queue."
        ::= { normalModeRateLimitingIngressEntry 2 }  

    normalPriLimitRate OBJECT-TYPE
        SYNTAX INTEGER {notlimit(0),limit128k(1),limit256k(2),limit512k(3),
                        limit1M(4),limit2M(5),limit4M(6),limit8M(7),
                        limit16M(8)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The limiting rate of normal priority queue.
            The values being equal to or double value of lowPriLimitRate are valid for set."
        ::= { normalModeRateLimitingIngressEntry 3 }  

    mediumPriLimitRate OBJECT-TYPE
        SYNTAX INTEGER {notlimit(0),limit128k(1),limit256k(2),limit512k(3),
                        limit1M(4),limit2M(5),limit4M(6),limit8M(7),
                        limit16M(8),limit32M(9)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The limiting rate of medium priority queue.
            The values being equal to or double value of normalPriLimitRate are valid for set."
        ::= { normalModeRateLimitingIngressEntry 4 }  

    highPriLimitRate OBJECT-TYPE
        SYNTAX INTEGER {notlimit(0),limit128k(1),limit256k(2),limit512k(3),
                        limit1M(4),limit2M(5),limit4M(6),limit8M(7),
                        limit16M(8),limit32M(9),limit64M(10)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The limiting rate of high priority queue.
            The values being equal to or double value of mediumPriLimitRate are valid for set."
        ::= { normalModeRateLimitingIngressEntry 5 }  
        
        
    egressLimit OBJECT-TYPE
        SYNTAX INTEGER {notlimited(0), percentage03(1), percentage05(2), percentage10(3),
        	            percentage15(4), percentage25(5), percentage35(6), percentage50(7), 
        	            percentage65(8), percentage85(9)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The ingress limit mode."
        ::= { normalModeRateLimitingIngressEntry 6 }     
        
--  portDisableMode --       
    
    portDisableMode OBJECT IDENTIFIER ::= { rateLimiting 3 }
    
    portDisableModePeriod OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Check time. "
        ::= {portDisableMode 1 }
    
    portDisableModeTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PortDisableModeEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The rate limiting table."
        ::= { portDisableMode 2 }
    
    portDisableModeEntry OBJECT-TYPE
        SYNTAX PortDisableModeEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Rate limiting Entry."
        INDEX { portIndex }
        ::= { portDisableModeTable 1 }
    
    PortDisableModeEntry ::=
        SEQUENCE {
            ingressLimit
                INTEGER                        
            } 
              
    ingressLimit OBJECT-TYPE
        SYNTAX INTEGER {notlimited(0), rateMega1Fps4464(1), rateMega2Fps7441(2), rateMega3Fps14881(3),
        	            rateMega4Fps22322(4), rateMega5Fps37203(5), rateMega6Fps52084(6), rateMega7Fps74405(7), rateGiga1Fps44640(8), rateGiga2Fps74410(9), rateGiga3Fps148810(10),
        	            rateGiga4Fps223220(11), rateGiga5Fps372030(12), rateGiga6Fps520840(13), rateGiga7Fps744050(14) 
        	            }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The ingress limit mode."
        ::= { portDisableModeEntry 1 }    
 


        
            
        
-- -------------------------------------------------------------
-- accessible ip
-- -------------------------------------------------------------        

    accessibleIP OBJECT IDENTIFIER ::= { swMgmt 30 }
    
    enableAccessibleIP OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable the accessible IP address list."
        ::= { accessibleIP 1 }
        
    accessibleIpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AccessibleIpEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "accessibleIP."
        ::= { accessibleIP 2 }
    
    accessibleIpEntry OBJECT-TYPE
        SYNTAX AccessibleIpEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Accessible IP address entry."
        INDEX { accessibleIpAddress }
        ::= { accessibleIpTable 1 }
        
    AccessibleIpEntry ::=
        SEQUENCE {
            accessibleIpAddress
                IpAddress,
            accessibleIpNetMask
                IpAddress,
            accessibleIpStatus
                INTEGER
        }
    
    accessibleIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "Accessible IP address"
        ::= { accessibleIpEntry 1 } 
    
    accessibleIpNetMask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "Accessible IP netmask."
        ::= { accessibleIpEntry 2 }     

    accessibleIpStatus OBJECT-TYPE
        SYNTAX INTEGER {
            active(1),
            createAndGo(4),
            createAndWait(5),
            destroy(6)
        }
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "The status is active to indicate normal.
            Use createAndGo to create new on multiple SET.
            Use createAndWait to create new on one SET all then active.
            Use destroy to delete this row."
        ::= { accessibleIpEntry 3 }     

-- -------------------------------------------------------------
-- system file update
-- -------------------------------------------------------------        

    sysFileUpdate OBJECT IDENTIFIER ::= { swMgmt 31 }
    tftpServer OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The TFTP Server name(IP Address)"
        ::= { sysFileUpdate 1 }
        
    firmwarePathName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The path name of firmware file in the TFTP Server"
        ::= { sysFileUpdate 2 }
        
    logPathName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The path name of log file in the TFTP Server"
        ::= { sysFileUpdate 3 }
        
    confPathName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The path name of configuration file in the TFTP Server"
        ::= { sysFileUpdate 4 }

    tftpUpdate OBJECT-TYPE
        SYNTAX INTEGER {
            importFirmware(1),
            importConfig(2),
            exportConfig(3),
            exportLog(4)
        }
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            ""
        ::= { sysFileUpdate 5 }       
        
        
    

-- -------------------------------------------------------------
-- time setting
-- -------------------------------------------------------------        
        
    timeSetting OBJECT IDENTIFIER ::= { swMgmt 32 }
    
    sysDateTime OBJECT-TYPE
        SYNTAX DateAndTime
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The date time of system"
        ::= { timeSetting 1 }
    
    calibratePeriod OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The period (seconds) that calibrate with time server"
        ::= { timeSetting 2 }
        
    timeServer1 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The first time server"
        ::= { timeSetting 3 }
    
    timeServer2 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The second time server"
        ::= { timeSetting 4 }
 
    daylightSaving OBJECT IDENTIFIER ::= { timeSetting 5 }
     
    startMonth OBJECT-TYPE
        SYNTAX INTEGER  { na(0), jan(1), feb(2), mar(3), apr(4), may(5), jun(6), jul(7), aug(8), sep(9), oct(10), nov(11), dec(12)  }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Setting Start Month of Daylight Saving time"
        ::= { daylightSaving 1 }
    
    startWeek OBJECT-TYPE
        SYNTAX INTEGER  { na(0), week1(1), week2(2), week3(3), week4(4), weeklast(6) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Setting Start Week of Daylight Saving time"
        ::= { daylightSaving 2 }
        
    startDay OBJECT-TYPE
        SYNTAX INTEGER  { na(0), sun(1), mon(2), tue(3), wed(4), thu(5), fri(6), sat(7)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Setting Start Day of Daylight Saving time"
        ::= { daylightSaving 3 }
       
    startHour OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Setting Start Hour of Daylight Saving time"
        ::= { daylightSaving 4 }
        
    endMonth OBJECT-TYPE
        SYNTAX INTEGER  { na(0), jan(1), feb(2), mar(3), apr(4), may(5), jun(6), jul(7), aug(8), sep(9), oct(10), nov(11), dec(12)  }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Setting End Month of Daylight Saving time"
        ::= { daylightSaving 5 }
    
    endWeek OBJECT-TYPE
        SYNTAX INTEGER  { na(0), week1(1), week2(2), week3(3), week4(4), weeklast(6) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Setting End Week of Daylight Saving time"
        ::= { daylightSaving 6 }
        
    endDay OBJECT-TYPE
        SYNTAX INTEGER  { na(0), sun(1), mon(2), tue(3), wed(4), thu(5), fri(6), sat(7)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Setting End Day of Daylight Saving time"
        ::= { daylightSaving 7 }
       
    endHour OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Setting End Hour of Daylight Saving time"
        ::= { daylightSaving 8 }
    
    offsetHours OBJECT-TYPE
        SYNTAX INTEGER  
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Setting Offset Hours of Daylight Saving time"
        ::= { daylightSaving 9 }

    enableNTPServer OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable NTP Server."
        ::= { timeSetting 6 }    

	timeProtocolOption OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), sntp(1), ntp(2) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Time Protocol."
        ::= { timeSetting 7 }    	

-- -------------------------------------------------------------
-- TurboRing Dip Switch setting
-- -------------------------------------------------------------        
    
    dipSwitchSetting OBJECT IDENTIFIER ::= { swMgmt 34 }
    
    dipSwitchEnableTurboRing OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable TurboRing Dip Switch functions"
        ::= { dipSwitchSetting 1 }
        
    dipSwitchTurboRingPole OBJECT-TYPE
        SYNTAX INTEGER  { off(0), on(1) }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The TurboRing Pole status of Dip switch."
        ::= { dipSwitchSetting 2 }
    
    dipSwitchRingCouplingPole OBJECT-TYPE
        SYNTAX INTEGER  { off(0), on(1) }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The Ring Coupling Pole status of Dip switch."
        ::= { dipSwitchSetting 3 }

    dipSwitchRingMasterPole OBJECT-TYPE
        SYNTAX INTEGER  { off(0), on(1) }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The Ring Master Pole status of Dip switch."
        ::= { dipSwitchSetting 4 }    

-- -------------------------------------------------------------
-- Auto-Backup Media setting
-- -------------------------------------------------------------        
    
    backupMediaSetting OBJECT IDENTIFIER ::= { swMgmt 35 }
    
    backupMediaAutoLoad OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable Abc-01 backupMedia configuration PowerOn Auto Load functions"
        ::= { backupMediaSetting 1 }        
        
-- -------------------------------------------------------------
-- Warm Start setting
-- -------------------------------------------------------------            
    
    enableWarmStart OBJECT-TYPE
        SYNTAX INTEGER
            {
            no(0),
            yes(1)
            }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable to restart MOXA ethernet switch."
        ::= { swMgmt 36 }           

-- -------------------------------------------------------------
-- Syslog setting
-- -------------------------------------------------------------         
    
    syslogSetting OBJECT IDENTIFIER ::= { swMgmt 37 }
    
    syslogServer1 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The syslog server 1"
        ::= { syslogSetting 1 }
    
    syslogServer1port OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The syslog server 1 port"
        ::= { syslogSetting 2 }
        
    syslogServer2 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The syslog server 2"
        ::= { syslogSetting 3 }
    
    syslogServer2port OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The syslog server 2 port"
        ::= { syslogSetting 4 }
        
    syslogServer3 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The syslog server 3"
        ::= { syslogSetting 5 }
    
    syslogServer3port OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The syslog server 3 port"
        ::= { syslogSetting 6 }    


-- -------------------------------------------------------------
-- DHCP Relay Agent group
-- -------------------------------------------------------------
    dhcpRelayAgentSetting OBJECT IDENTIFIER ::= { swMgmt 39 }

    dhcpServer1 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The dhcp Relay Agent Server 1."
        ::= { dhcpRelayAgentSetting 1 }

    dhcpServer2 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The dhcp Relay Agent Server 2."
        ::= { dhcpRelayAgentSetting 2 }

    dhcpServer3 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The dhcp Relay Agent Server 3."
        ::= { dhcpRelayAgentSetting 3 }

    dhcpServer4 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The dhcp Relay Agent Server 4."
        ::= { dhcpRelayAgentSetting 4 }        

		option82Setting OBJECT IDENTIFIER ::= { dhcpRelayAgentSetting 5 }

    enableOption82 OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable DHCP Option 82"
        ::= { option82Setting 1 }
        
    option82Type OBJECT-TYPE
        SYNTAX INTEGER  { ip(0), mac(1), client-id(2), other(3) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Option 82 Type selector "
        ::= { option82Setting 2 }

    option82Value OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Option 82 Type Value"
        ::= { option82Setting 3 }        

    option82ValueDisplay OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Option 82 Type Value Display"
        ::= { option82Setting 4 }        

    dhcpFunctionTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DhcpFunctionEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "DHCP Function Table."
        ::= { dhcpRelayAgentSetting 6 }

    dhcpFunctionEntry OBJECT-TYPE
        SYNTAX DhcpFunctionEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "DHCP Function Table Entry."
        INDEX { dhcpPortIndex }
        ::= { dhcpFunctionTable 1 }
        
    DhcpFunctionEntry ::=
        SEQUENCE {
        		dhcpPortIndex
        			INTEGER,
            circuitID
            	DisplayString,
            option82Enable
              INTEGER
            }

    dhcpPortIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The DHCP Port Index."
        ::= { dhcpFunctionEntry 1 } 
        
    circuitID OBJECT-TYPE
        SYNTAX DisplayString 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The Circuit ID."
        ::= { dhcpFunctionEntry 2 } 

    option82Enable OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable option 82 of the port."
        ::= { dhcpFunctionEntry 3 }

-- -------------------------------------------------------------                  
-- swTraps group
-- -------------------------------------------------------------
    
  varconfigChangeTrap OBJECT-TYPE
		SYNTAX	INTEGER {
			none(1),			-- no config change happened
			configChanged(2)	-- config changed
		}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The configuration has been changed."
		::= { swTraps 1 }

    configChangeTrap NOTIFICATION-TYPE
    OBJECTS         { varconfigChangeTrap }
    STATUS          current	
	DESCRIPTION
			"The configuration has been changed."
	::= { mibNotificationsPrefix 1 }
              
    varpower1Trap OBJECT-TYPE
		SYNTAX	INTEGER {
			none(1),			-- no power on/off
			on2off(2),			-- power on to power off
			off2on(3)			-- power off to power on
		}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The power on/off changed."
		::= { swTraps 2 }

    power1Trap NOTIFICATION-TYPE
    OBJECTS         { varpower1Trap }
    STATUS          current		
	DESCRIPTION
			"The power on/off changed."
	::= { mibNotificationsPrefix 2 }
              			
    varpower2Trap OBJECT-TYPE
		SYNTAX	INTEGER {
			none(1),			-- no power on/off
			on2off(2),			-- power on to power off
			off2on(3)			-- power off to power on
		}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The power on/off changed."
		::= { swTraps 3 }

    power2Trap NOTIFICATION-TYPE
    OBJECTS         { varpower2Trap }
    STATUS          current			
	DESCRIPTION
			"The power on/off changed."
	::= { mibNotificationsPrefix 3 }

    vartrafficOverloadTrap OBJECT-TYPE
		SYNTAX	INTEGER
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The ethernet port's traffic loading exceeds the pre-defined value."
		::= { swTraps 4 }

    trafficOverloadTrap NOTIFICATION-TYPE
    OBJECTS         { vartrafficOverloadTrap }
    STATUS          current		
	DESCRIPTION
			"The ethernet port's traffic loading exceeds the pre-defined value."
	::= { mibNotificationsPrefix 4 }

    varredundancyTopologyChangedTrap OBJECT-TYPE
		SYNTAX	INTEGER {
			none(1),			-- no topology change
			topologyChanged(2),	-- topology changed
			topologyChangedTurboChainHead(3),	-- topology change turboChain head
			topologyChangedTurboChainTail(4)	-- topology change turboChain tail
		}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The redundancy topology has been changed."
		::= { swTraps 5 }

    redundancyTopologyChangedTrap NOTIFICATION-TYPE
    OBJECTS         { varredundancyTopologyChangedTrap }
    STATUS          current				
	DESCRIPTION
			"The redundancy topology has been changed."
	::= { mibNotificationsPrefix 5 }

    varturboRingCouplingPortChangedTrap OBJECT-TYPE
		SYNTAX	INTEGER {
			none(1),				-- no topology change
			couplingPortChanged(2)	-- coupling port changed
		}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The coupling path of Turbo Ring has been changed."
		::= { swTraps 6 }

    turboRingCouplingPortChangedTrap NOTIFICATION-TYPE
    OBJECTS         { varturboRingCouplingPortChangedTrap }
    STATUS          current		
	DESCRIPTION
			"The coupling path of Turbo Ring has been changed."
	::= { mibNotificationsPrefix 6 }

    varturboRingMasterChangedTrap OBJECT-TYPE
		SYNTAX	INTEGER {
			none(1),				-- no topology change
			ringMasterChanged(2)	-- ring master changed
		}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The master of Turbo Ring has been changed."
		::= { swTraps 7 }        

    turboRingMasterChangedTrap NOTIFICATION-TYPE
    OBJECTS         { varturboRingMasterChangedTrap }
    STATUS          current		
		DESCRIPTION
			"The master of Turbo Ring has been changed."
	::= { mibNotificationsPrefix 7 }
        
	varLLDPChgTrap OBJECT-TYPE
		SYNTAX	INTEGER 
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The LLDP table is changing."
		::= { swTraps 19 }        

    lldpChgTrap NOTIFICATION-TYPE
    OBJECTS         { varLLDPChgTrap }
    STATUS          current		
		DESCRIPTION
			"The LLDP table is changing."
	::= { mibNotificationsPrefix 19 }    
        
-- -------------------------------------------------------------
-- Diagnosis:  LLDP Setting
-- -------------------------------------------------------------
    
     diagnosis OBJECT IDENTIFIER ::= { swMgmt 42 }
     lldpSetting OBJECT IDENTIFIER ::= { diagnosis 1 }
    
       
    enableLLDP OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the LLDP function."
        ::= { lldpSetting 1 }  	
    
        
 		lldpMSGInterval OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "The LLDP message transmit interval."
        ::= { lldpSetting 2 }              	
		
-- -------------------------------------------------------------
-- Industrial Protocol
-- -------------------------------------------------------------
    
     industrialProtocol OBJECT IDENTIFIER ::= { swMgmt 47 }
     eipSetting OBJECT IDENTIFIER ::= { industrialProtocol 1 }
     modbusSetting OBJECT IDENTIFIER ::= { industrialProtocol 2 }
     profinetioSetting OBJECT IDENTIFIER ::= { industrialProtocol 3 }
    
       
    enableEtherNetIP OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the EtherNet/IP function."
        ::= { eipSetting 1 }  	
    
        
    enableModbus OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "This enable the Modbus function."
        ::= { modbusSetting 1 }     
        
    enableProfinetIO OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "This enable the PROFINET IO function."
        ::= { profinetioSetting 1 }  	
        
        
-- -------------------------------------------------------------
-- GARP
-- -------------------------------------------------------------
    
    garpSetting OBJECT IDENTIFIER ::= { swMgmt 45 }
     
       
     leaveAllTime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Leaveall Time (ms)."
        ::= { garpSetting 3 }  	    
        
    leaveTime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Leave Time (ms)."
        ::= { garpSetting 2 }  	
        
    joinTime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Join Time (ms)."
        ::= { garpSetting 1 }  	    
        
-- -------------------------------------------------------------
-- Factory Default setting
-- -------------------------------------------------------------            
    
    enableFactoryDefault OBJECT-TYPE
        SYNTAX INTEGER
            {
            activate(1)
            }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Reset all EtherDevice switch settings to factory default values"
        ::= { swMgmt 48 }                     	    
		
        
-- -------------------------------------------------------------
-- eventlog
-- -------------------------------------------------------------
    eventlog OBJECT IDENTIFIER ::= { swMgmt 46 }

    eventlogTable OBJECT-TYPE
        SYNTAX SEQUENCE OF EventlogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table of eventlog."
        ::= { eventlog 1 }

    eventlogEntry OBJECT-TYPE
        SYNTAX EventlogEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table entry of eventlog."
        INDEX { eventlogIndex }
        ::= { eventlogTable 1 }

    EventlogEntry ::=
        SEQUENCE {
            eventlogIndex
                INTEGER,
            eventlogBootup
                INTEGER,
            eventlogDate
                DisplayString,
            eventlogTime
                DisplayString,
            eventlogUptime
                DisplayString,
            eventlogEvent
                DisplayString
        }

    eventlogIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The index of eventlog entry."
        ::= { eventlogEntry 1 }

    eventlogBootup OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The reboot count of the system."
        ::= { eventlogEntry 2 }

    eventlogDate OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The date of the event occurred."
        ::= { eventlogEntry 3 }

    eventlogTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The time of the event occurred."
        ::= { eventlogEntry 4 }

    eventlogUptime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The time of the event occurred after booting up."
        ::= { eventlogEntry 5 }

    eventlogEvent OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The event which occurred in the system."
        ::= { eventlogEntry 6 }

    eventlogClear OBJECT-TYPE
        SYNTAX INTEGER { noop(0), clear(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "To clear the eventlog, set value 1 to this field."
        ::= { eventlog 2 }
-- -------------------------------------------------------------
-- CPU Loading and Free Memory info.
-- -------------------------------------------------------------
    cpuLoading5s OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "CPU Loading for the past 5 seconds in %."
        ::= { swMgmt 53 }  
        
     cpuLoading30s OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "CPU Loading for the past 30 seconds in %."
        ::= { swMgmt 54 }    
        
      cpuLoading300s OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "CPU Loading for the past 5 minutes in %."
        ::= { swMgmt 55 }    
		
       totalMemory OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Total size of System RAM."
        ::= { swMgmt 56 } 
        
        freeMemory OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Total size of free dynamic memory"
        ::= { swMgmt 57 }     		
        
     usedMemory OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Total size of used dynamic memory"
        ::= { swMgmt 58 }  
        
     memoryUsage OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The usage of memory size in %."
        ::= { swMgmt 59 } 		

-- -------------------------------------------------------------
-- Loop Protection info.
-- -------------------------------------------------------------   
     loopProtection OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the Loop Protection function."
        ::= { swMgmt 61 } 

END
    
 
