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

MOXA-IKS6726A-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
    
    iks6726A   MODULE-IDENTITY
	    LAST-UPDATED "201506300000Z"
	    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 IKS-6726A series specific information."
	
	REVISION    "201506300000Z"
    	DESCRIPTION
            "Support v4.1 firmware,
             Added new objects: 
            	multicastFastForwarding,
            	 
             Modified objects:
             	n/a"   
	
	REVISION    "201408070000Z"
    	DESCRIPTION
            "Support v4.0 firmware, Standard Release,
             Added new objects: 
          		N/A            	 
             Modified objects:
				N/A"	            
				
	    ::= { industrialEthernet 116 }    -- 1.3.6.1.4.1.8691.7.116
    
-- -------------------------------------------------------------
-- groups in the MOXA-IKS6726A MIB
-- -------------------------------------------------------------

swMgmt		OBJECT IDENTIFIER ::= { iks6726A 1 }			-- 1.3.6.1.4.1.8691.7.116.1    
swTraps		OBJECT IDENTIFIER ::= { iks6726A 2 }			-- 1.3.6.1.4.1.8691.7.116.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), httpOrHttps(1), httpsOnly(2) }
        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 }

     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 }                   
                
     trapVersion  OBJECT-TYPE
        SYNTAX INTEGER {
	        snmpv1-Trap(0),
	        snmpv2-Notification(1),
	        snmpv2-Inform(2)
        } 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Version of SNMP trap"   
        ::= { networkSetting 18 }       
                
-- -------------------------------------------------------------
-- 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
        }
    
    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),
	        speed1000M-Full(5)
        }
        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 } 
        
-- -------------------------------------------------------------
-- 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
            {
            speed1000M-Full(5),
            speed1000M-Half(4),
            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 trafic 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 }                    
    monitorDiTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MonitorDiEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The DI table of monitor function."
        ::= { monitor 4 }
    
    monitorDiEntry OBJECT-TYPE
        SYNTAX MonitorDiEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The DI table entry of monitor function."
        INDEX { diIndex }
        ::= { monitorDiTable 1 }
        
    MonitorDiEntry ::=
        SEQUENCE {
            diIndex
                INTEGER,
            diInputStatus
                INTEGER
        }
    
    diIndex OBJECT-TYPE
        SYNTAX INTEGER (1..2)
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The DI index of monitor function"
        ::= { monitorDiEntry 1 }        
    
    diInputStatus OBJECT-TYPE
        SYNTAX INTEGER { off(0), on(1) }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The DI input status."
        ::= { monitorDiEntry 2 }
        
-- -------------------------------------------------------------
-- Monitor SFP Informations
-- -------------------------------------------------------------
        
    monitorSFPTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MonitorSFPEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The SFP table of monitor function."
        ::= { monitor 7 }
    
    monitorSFPEntry OBJECT-TYPE
        SYNTAX MonitorSFPEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The SFP table entry of monitor function."
        INDEX { portIndex }
        ::= { monitorSFPTable 1 }
                   
    MonitorSFPEntry ::=
        SEQUENCE {
            sfpPort
                DisplayString,
            sfpModelName
                DisplayString,
            sfpTemperature
            	DisplayString,
            sfpVoltage
            	DisplayString,
            sfpTxPower
            	DisplayString,
            sfpRxPower
            	DisplayString			
        }
                                      
    sfpPort OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The SFP index of monitor function"
        ::= { monitorSFPEntry 1 }                                        
        
    sfpModelName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The SFP ModelName of monitor function"
        ::= { monitorSFPEntry 2 } 
        
    sfpTemperature OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The SFP Temperature(XC) of monitor function"
        ::= { monitorSFPEntry 3 } 
        
    sfpVoltage OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The SFP Voltage(V) of monitor function"
        ::= { monitorSFPEntry 4 }            
        
    sfpTxPower OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The SFP TX power(dBm) of monitor function"
        ::= { monitorSFPEntry 5 }  
        
    sfpRxPower OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The SFP RX power(dBm) of monitor function"
        ::= { monitorSFPEntry 6 }
                
    powerConsumption OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "Current power comsuption(Watts). Accurate to second decimal place."
        ::= { monitor 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 }
         
-- -------------------------------------------------------------
-- set device ip
-- -------------------------------------------------------------

    setDeviceIp OBJECT IDENTIFIER ::= { swMgmt 12 }
        
    setDevIpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SetDevIpEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The set devvice IP table."
        ::= { setDeviceIp 1 }
    
    setDevIpEntry OBJECT-TYPE
        SYNTAX SetDevIpEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The set devvice 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 devvice 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
            {
            inputDataStream(0),
            outputDataStream(1),
            biDirectional(2)
            }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The traffic direction of mirroring function."
        ::= { mirroring 3 }     
    
-- -------------------------------------------------------------
-- port trunking
-- -------------------------------------------------------------
    
    portTrunking OBJECT IDENTIFIER ::= { swMgmt 14 }
    
    -- trunk setting table
    
    trunkSettingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF TrunkSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Port Trunking Setting Table."
        ::= { portTrunking 1 }

    trunkSettingEntry OBJECT-TYPE
        SYNTAX TrunkSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Port Trunking Setting Entry."
        INDEX { trunkSettingIndex }
        ::= { trunkSettingTable 1 }
        
    TrunkSettingEntry ::=
        SEQUENCE {     
            trunkSettingIndex
                INTEGER,
            trunkType
            	INTEGER,
            trunkMemberPorts
            	PortList
            }     
    
    trunkSettingIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Trunking Group Index."
        ::= { trunkSettingEntry 1 }

    trunkType OBJECT-TYPE
        SYNTAX INTEGER {
        	static(1),
        	lacp(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Trunking Group Type."
        ::= { trunkSettingEntry 2 }

    trunkMemberPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Trunking Group Member Ports."
        ::= { trunkSettingEntry 3 }

	-- trunk table
	
    trunkTable OBJECT-TYPE
        SYNTAX SEQUENCE OF TrunkEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Port Trunking Table."
        ::= { portTrunking 2 }

    trunkEntry OBJECT-TYPE
        SYNTAX TrunkEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Port Trunking Entry."
        INDEX { trunkIndex, trunkPort }
        ::= { trunkTable 1 }
        
    TrunkEntry ::=
        SEQUENCE {     
            trunkIndex
                INTEGER,
            trunkPort
            	INTEGER,
            trunkStatus
            	INTEGER
            }     
    
    trunkIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Trunking Group Index."
        ::= { trunkEntry 1 }

    trunkPort OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Trunking Group Member Port."
        ::= { trunkEntry 2 }

    trunkStatus OBJECT-TYPE
        SYNTAX INTEGER {
        	success(1),
        	fail(2),
        	standby(3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Trunking Port Status."
        ::= { trunkEntry 3 }

-- -------------------------------------------------------------
-- communication redundancy
-- -------------------------------------------------------------
        
    commRedundancy OBJECT IDENTIFIER ::= { swMgmt 16 }        
    
    protocolOfRedundancySetup OBJECT-TYPE
        SYNTAX INTEGER  { spanningTree(1), turboRing(2), turboRingV2(3), turboChain(4), mstp(5)}
        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), mstp(5)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "This shows the active redundancy protocol of this switch now. The none(0) stauts 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 Enalbe 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 Enalbe 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 }
         
-- -------------------------------------------------------------
-- 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 deault 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 {TrafficClass0(0),TrafficClass1(1),TrafficClass2(2),TrafficClass3(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 {priority0(0), priority1(1), priority2(2), priority3(3),
        				priority4(4), priority5(5), priority6(6), priority7(7)}
        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 seting 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 functon in this VLAN."
        ::= { igmpSnoopingSettingEntry 1 }  
        
    enableQuerier OBJECT-TYPE 
        SYNTAX INTEGER {disable(0), igmpv2(1), igmpv3(2)}
        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 functon ."
        ::= { igmpSnooping 4 }  
    
    multicastFastForwarding OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This Enable Multicast Fast Forwarding Mode functon ."
        ::= { igmpSnooping 7 }
    
    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 actvie.
            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 }      


    --
    -- Multicast Filtering Behavior
    --
    
    mfb OBJECT IDENTIFIER ::= { multicastFiltering 4 }
    
    -- mfb setting table    
    
    mfbSettingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MfbSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The Multicast Filtering Behavior setting table."
        ::= { mfb 1 }
    
    mfbSettingEntry OBJECT-TYPE
        SYNTAX MfbSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The Multicast Filtering Behavior Setting Entry."
        INDEX { portIndex }
        ::= { mfbSettingTable 1 }
        
    MfbSettingEntry ::=
        SEQUENCE {
            filterBehavior
                INTEGER
        } 
    
    filterBehavior OBJECT-TYPE
        SYNTAX INTEGER {
        	forwardUnknown(2),
        	filterUnknown(3)
        }
        MAX-ACCESS read-write              
        STATUS current
        DESCRIPTION
            "Port forward multicast packet behavior."
        ::= { mfbSettingEntry 1 } 

   
-- -------------------------------------------------------------
-- 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 --
    
    normalModeRateLimitingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF NormalModeRateLimitingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The rate limiting table."
        ::= { rateLimiting 1 }
    
    normalModeRateLimitingEntry OBJECT-TYPE
        SYNTAX NormalModeRateLimitingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Rate limiting Entry."
        INDEX { portIndex }
        ::= { normalModeRateLimitingTable 1 }
        
    NormalModeRateLimitingEntry ::=
        SEQUENCE {
            ingressLimitRate
                INTEGER,
            egressLimit
                INTEGER  
            } 
    
    ingressLimitRate 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."
        ::= { normalModeRateLimitingEntry 1 }     

    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."
        ::= { normalModeRateLimitingEntry 2 }     

--  broadcastStorm --       
              
    broadcastStormProtection OBJECT IDENTIFIER ::= { rateLimiting 2 }
    
    enableBcastStormProtection OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable Broadcast Storm Protection"
        ::= { broadcastStormProtection 1 }  
        
    bcastStormIncludeMcast OBJECT-TYPE
        SYNTAX INTEGER {no(0),yes(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Broadcast Storm Protection includes Multicast packets"
        ::= { broadcastStormProtection 2 } 
         
    bcastStormIncludeUnkonwnMcastUcast OBJECT-TYPE
        SYNTAX INTEGER {no(0),yes(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Broadcast Storm Protection includes Unkonwn Multicast and Unknown Unicast Packet packets"
        ::= { broadcastStormProtection 3 } 

	unicastFilterBehavior OBJECT IDENTIFIER ::= { broadcastStormProtection 4 }
	
    ufbIncludeUnkonwnUcast OBJECT-TYPE
        SYNTAX INTEGER {no(0),yes(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Unicast Filter Behavior includes Unknown Unicast packets"
        ::= { unicastFilterBehavior 1 }

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

        
            
        
-- -------------------------------------------------------------
-- security
-- -------------------------------------------------------------        
     
    security OBJECT IDENTIFIER ::= { swMgmt 22 }
-- -------------------------------------------------------------
-- user login authentication
-- -------------------------------------------------------------            
    userLoginSetting OBJECT IDENTIFIER ::= { security 1 }

    userLoginServer OBJECT-TYPE
    SYNTAX INTEGER {
        tacacs(1),
        radius(2)
    }
    MAX-ACCESS read-write               
    STATUS current
    DESCRIPTION
        "Set user login server option."
    ::= { userLoginSetting 1 }

    tacacsServerSetting OBJECT IDENTIFIER ::= { userLoginSetting 2 }
    tacacsLoginAuthServer OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Tacacs+ Server IP Address/Domain name."
        ::= { tacacsServerSetting 1 }

    tacacsLoginAuthPort OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Tacacs+ Port."
        ::= {tacacsServerSetting 2 }

    tacacsLoginAuthSharedKey OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Tacacs+ Shared Key."
        ::= { tacacsServerSetting 3 }

   tacacsLoginAuthAuthType OBJECT-TYPE
         SYNTAX INTEGER {
            ascii(0),
            pap(1),
            chap(2),
            mschap(4)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Tacacs+ Shared Key."
        ::= { tacacsServerSetting 4 }        
   tacacsLoginAuthTimeout OBJECT-TYPE
        SYNTAX INTEGER (1..255)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Tacacs+ Shared Key."
        ::= { tacacsServerSetting 5 }           

    radiusServerSetting OBJECT IDENTIFIER ::= { userLoginSetting 3 }
    radiusLoginAuthServer OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Server IP Address/Domain name."
        ::= { radiusServerSetting 1 }

    radiusLoginAuthPort OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Port."
        ::= { radiusServerSetting 2 }

    radiusLoginAuthSharedKey OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Shared Key."
        ::= { radiusServerSetting 3 }

    radiusLoginAuthAuthType OBJECT-TYPE
         SYNTAX INTEGER {
            eap-md5(0)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Shared Key."
        ::= { radiusServerSetting 4 }        
    radiusLoginAuthTimeout OBJECT-TYPE
        SYNTAX INTEGER (1..255)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Shared Key."
        ::= { radiusServerSetting 5 }  
        
-- -------------------------------------------------------------
-- port access control
-- -------------------------------------------------------------        

    portAccessControl OBJECT IDENTIFIER ::= { security 2 }
    
    --
    -- static port lock 
    --
    
    staticPortLock OBJECT IDENTIFIER ::= { portAccessControl 1 }
    
    staticPortLockAddress OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "The static port lock address."
        ::= { staticPortLock 1 }  
        
    staticPortLockPort OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "The port of the static port lock address."
        ::= { staticPortLock 2 }  

    staticPortLockStatus OBJECT-TYPE
        SYNTAX INTEGER {
            active(1),
            createAndGo(4)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The status is active to indicate normal.
            Use createAndGo to create new on multiple SET."
        ::= { staticPortLock 3 }
    
    --
    -- IEEE 802.1X
    --
    
    dot1x OBJECT IDENTIFIER ::= { portAccessControl 2 }
    
    -- ieee 802.1x global settings    
    
    dataBaseOption OBJECT-TYPE
        SYNTAX INTEGER {
            local(1),
            radius(2),
            radiuslocal(3)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set IEEE 802.1X database option."
        ::= { dot1x 1 }           

    dot1xReauthEnable OBJECT-TYPE
        SYNTAX INTEGER {
        	disable(0),
        	enable(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Enable/Disable IEEE 802.1X Re-authentication."
        ::= { dot1x 5 }

    dot1xReauthPeriod OBJECT-TYPE
        SYNTAX INTEGER (60..3600)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set IEEE 802.1X Re-authentication Period."
        ::= { dot1x 6 }
    
    -- ieee 802.1X port setting table
    
    dot1xSettingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Dot1xSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "IEEE 802.1X Port Setting Table."
        ::= { dot1x 7 }
    
    dot1xSettingEntry OBJECT-TYPE
        SYNTAX Dot1xSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "IEEE 802.1X Port Setting Entry."
        INDEX { portIndex }
        ::= { dot1xSettingTable 1 }
        
    Dot1xSettingEntry ::=
        SEQUENCE {     
            enableDot1X
                INTEGER
            }     
    
    enableDot1X OBJECT-TYPE
        SYNTAX INTEGER {
        	disable(0),
        	enable(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Enable/Disable IEEE 802.1X."
        ::= { dot1xSettingEntry 1 }

    -- ieee 802.1X re-authentication table
    
    dot1xReauthTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Dot1xReauthEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "IEEE 802.1X Re-authentication Table."
        ::= { dot1x 8 }
    
    dot1xReauthEntry OBJECT-TYPE
        SYNTAX Dot1xReauthEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "IEEE 802.1X Re-authentication Entry."
        INDEX { dot1xReauthPortIndex }
        ::= { dot1xReauthTable 1 }
        
    Dot1xReauthEntry ::=
        SEQUENCE { 
        	dot1xReauthPortIndex
        		INTEGER, 
            dot1xReauth
                INTEGER
            }     
    
    dot1xReauthPortIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "IEEE 802.1X Enabled Port Index."
        ::= { dot1xReauthEntry 1 }

    dot1xReauth OBJECT-TYPE
        SYNTAX INTEGER {
        	no(0),
        	yes(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Reauth IEEE 802.1X."
        ::= { dot1xReauthEntry 2 }
		
		-- ieee 802.1x dot1x Radius Server settings    
        
    dot1xRadius OBJECT IDENTIFIER ::= { dot1x 9 }
    dot1xSameAsAuthServer OBJECT-TYPE
        SYNTAX INTEGER
        {
            notSame(0),
            same(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Server IP Address/Domain name."
        ::= { dot1xRadius 1 }    
    dot1x1stRadiusServer OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Server IP Address/Domain name."
        ::= { dot1xRadius 2 }

    dot1x1stRadiusPort OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Port."
        ::= { dot1xRadius 3 }

    dot1x1stRadiusSharedKey OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Shared Key."
        ::= { dot1xRadius 4 }        
    dot1x2ndRadiusServer OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Server IP Address/Domain name."
        ::= { dot1xRadius 5 }

    dot1x2ndRadiusPort OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Port."
        ::= { dot1xRadius 6 }

    dot1x2ndRadiusSharedKey OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Set Radius Shared Key."
        ::= { dot1xRadius 7 }                
        
    --
    -- port access control table
    --
    
    portAccessControlTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PortAccessControlEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The Port Access Control table."
        ::= { portAccessControl 3 }
    
    portAccessControlEntry OBJECT-TYPE
        SYNTAX PortAccessControlEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The Port Access Control table entry."
        INDEX { portAccessControlAddress }
        ::= { portAccessControlTable 1 }
        
    PortAccessControlEntry ::=
        SEQUENCE {
            portAccessControlAddress
                MacAddress,     
            portAccessControlPortNo
            	INTEGER,
            portAccessControlAccessStatus
                INTEGER,      
            portAccessControlStatus
                INTEGER
            } 
    
    portAccessControlAddress OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The MAC address which is static locked or IEEE 802.1X authorized."
        ::= { portAccessControlEntry 1 }  

    portAccessControlPortNo OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The port number that the Port Access Control address resides."
        ::= { portAccessControlEntry 2 }  

    portAccessControlAccessStatus OBJECT-TYPE
        SYNTAX INTEGER {  
        	staticLock(1), 	
        	authorized(2),
        	unAuthorized(3),
        	authorizing(4)
        } 
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The access status of the Port Access Control address."
        ::= { portAccessControlEntry 3 }  

    portAccessControlStatus 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 actvie.
            Use destroy to delete this row."
        ::= { portAccessControlEntry 4 }
        
-- -------------------------------------------------------------
-- 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 actvie.
            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 }    

    clockSource OBJECT-TYPE
        SYNTAX INTEGER  { local(0), sntp(1), ntp(2) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The clock source of system"
        ::= { timeSetting 7 } 
-- -------------------------------------------------------------
-- Auto-Backup Media setting
-- -------------------------------------------------------------        
    
    backupMediaSetting OBJECT IDENTIFIER ::= { swMgmt 35 }
    
    abc02Status OBJECT-TYPE
        SYNTAX INTEGER  { device-not-present(0), unauthorized-media(1), detecting(2), working(3), ready-and-removable(4) }
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "Current status of ABC-02"
        ::= { backupMediaSetting 2 }
        
    abc02AutoImportConfig OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Auto load configuration from ABC to system when boot up"
        ::= { backupMediaSetting 3 }
        
    abc02AutoExportConfig OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Auto backup to ABC-02 when configuration change"
        ::= { backupMediaSetting 4 }
        
    abc02AutoExportLog OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Auto backup of event log to prevent overwrite"
        ::= { backupMediaSetting 5 }
        
-- -------------------------------------------------------------
-- 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 DhcpFunctionTableEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "DHCP Function Table."
        ::= { dhcpRelayAgentSetting 6 }

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

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

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

-- -------------------------------------------------------------
-- PTP Setting
-- -------------------------------------------------------------
  
    ieee1588Setting OBJECT IDENTIFIER ::= { swMgmt 41 }  
    
    ptpv1Setting OBJECT IDENTIFIER ::= { ieee1588Setting 1 }
       
    enablePtpv1 OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the PTP functon."
        ::= { ptpv1Setting 1 }  
    
    clockModev1 OBJECT-TYPE
        SYNTAX INTEGER {
        	v1BC(0),
        	v2E2E2stepTC(1),
        	v2P2PTC(3),
        	v2E2EBC(4),
        	v2P2PBC(5)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the clock mode of the PTP clock."
        ::= { ptpv1Setting 2 }  

    syncIntervalv1 OBJECT-TYPE
        SYNTAX INTEGER {
        	oneSec(0),
        	twoSec(1),
        	fourSec(2),
        	eightSec(3),
        	sixteenSec(4)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the logSyncInterval of the PTP clock."
        ::= { ptpv1Setting 3 }   

    subDomainNamev1 OBJECT-TYPE
        SYNTAX INTEGER {dflt(0),alt1(1),alt2(2),alt3(3)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The subdomain name of the PTP clock."
        ::= { ptpv1Setting 4 }                   

    preferMasterv1 OBJECT-TYPE
        SYNTAX INTEGER {false(0),true(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the PTP prefer master function."
        ::= { ptpv1Setting 5 }  
          
    ptpv2Setting OBJECT IDENTIFIER ::= { ieee1588Setting 2 }
       
    enablePtp OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the PTP functon."
        ::= { ptpv2Setting 1 }  
    
    clockMode OBJECT-TYPE
        SYNTAX INTEGER {
        	v1BC(0),
        	v2E2E2stepTC(1),
        	v2P2PTC(3),
        	v2E2EBC(4),
        	v2P2PBC(5)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the clock mode of the PTP clock."
        ::= { ptpv2Setting 2 }  

    transport OBJECT-TYPE
        SYNTAX INTEGER {ieee802dot3(0),ipv4(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the transport mode of the PTP clock."
        ::= { ptpv2Setting 3 }  
                        
    syncInterval OBJECT-TYPE
        SYNTAX INTEGER {
        	t128msec(-3),
        	t256msec(-2),
        	t512msec(-1),
        	t1sec(0),
        	t2sec(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the logSyncInterval of the PTP clock."
        ::= { ptpv2Setting 4 }   

    logMinDelayReqInterval OBJECT-TYPE
        SYNTAX INTEGER {t1sec(0),t2sec(1),t4sec(2),t8sec(3),t16sec(4),t32sec(5)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the logMinDelayReqInterval of the PTP clock."
        ::= { ptpv2Setting 5 }   
 
    logMinPdelayReqInterval OBJECT-TYPE
        SYNTAX INTEGER {
        	t512msec(-1),
        	t1sec(0),
        	t2sec(1),
        	t4sec(2),
        	t8sec(3),
        	t16sec(4),
        	t32sec(5)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the logMinPdelayReqInterval of the PTP clock."
        ::= { ptpv2Setting 6 }   

    logAnnounceInterval OBJECT-TYPE
        SYNTAX INTEGER {t1sec(0),t2sec(1),t4sec(2),t8sec(3),t16sec(4)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the logAnnounceInterval of the PTP clock."
        ::= { ptpv2Setting 7 }   

    announceReceiptTimeout OBJECT-TYPE
        SYNTAX INTEGER (2..10)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the announceReceiptTimeout of the PTP clock."
        ::= { ptpv2Setting 8 }   

    priority1 OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the priority1 of the PTP clock."
        ::= { ptpv2Setting 9 }   
 
    priority2 OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the priority2 of the PTP clock."
        ::= { ptpv2Setting 10 }   
 
    clockClass OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the clockClass of the PTP clock."
        ::= { ptpv2Setting 11 }   
                                                   
    domainNumber OBJECT-TYPE
        SYNTAX INTEGER {dflt(0),alt1(1),alt2(2),alt3(3)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The domain number of the PTP clock."
        ::= { ptpv2Setting 12 }                   

    localUtcOffset OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the UTC offset of the local PTP clock."
        ::= { ptpv2Setting 13 }   

    localUtcOffsetValid OBJECT-TYPE
        SYNTAX INTEGER {false(0),true(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the UTC offset valid of the local PTP clock."
        ::= { ptpv2Setting 14 }   
 
    localLeap59 OBJECT-TYPE
        SYNTAX INTEGER {false(0),true(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the leap59 of the local PTP clock."
        ::= { ptpv2Setting 15 }   

    localLeap61 OBJECT-TYPE
        SYNTAX INTEGER {false(0),true(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the leap61 of the local PTP clock."
        ::= { ptpv2Setting 16 }   

    localPtpTimescale OBJECT-TYPE
        SYNTAX INTEGER {arb(0),ptp(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the timescale of the local PTP clock."
        ::= { ptpv2Setting 17 }   

    localArbTime OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "the ARB time of the local PTP clock."
        ::= { ptpv2Setting 18 }   
                                                                                                        
    ptpv1Status OBJECT IDENTIFIER ::= { ieee1588Setting 3 }
       
    offsetToMasterv1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The offset to master for nsec."
        ::= { ptpv1Status 1 }
    
    meanPathDelayv1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The mean path delay of the PTP clock."
        ::= { ptpv1Status 2 }
                
    grandMasterUuidv1 OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only          
        STATUS current
        DESCRIPTION
            "The grand master UUID address of the PTP clock."
        ::= { ptpv1Status 3 }  
    
    parentUuidv1 OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only          
        STATUS current
        DESCRIPTION
            "The parent master UUID address of the PTP clock."
        ::= { ptpv1Status 4 }  
        
    clockStratumv1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only             
        STATUS current
        DESCRIPTION
            "The clock stratum of the PTP clock."
        ::= { ptpv1Status 5 }  
        
    clockIdentifierv1 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The clock identifier of the PTP clock."
        ::= { ptpv1Status 6 }                            

    ptpv2Status OBJECT IDENTIFIER ::= { ieee1588Setting 4 }

    offsetToMaster OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The offset to master for nsec."
        ::= { ptpv2Status 1 }
    
    meanPathDelay OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The mean path delay of the PTP clock."
        ::= { ptpv2Status 2 }
         
    parentIdentity OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The parent identity of the PTP clock."
        ::= { ptpv2Status 3 }                            

    grandmasterIdentity OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The grandmaster identity of the PTP clock."
        ::= { ptpv2Status 4 }                            

    grandmasterClockClass OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The grandmaster clockClass of the PTP clock."
        ::= { ptpv2Status 5 }

    grandmasterClockAccuracy OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The grandmaster clockAccuracy of the PTP clock."
        ::= { ptpv2Status 6 }

    grandmasterPriority1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The grandmaster priority1 of the PTP clock."
        ::= { ptpv2Status 7 }

    grandmasterPriority2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The grandmaster priority2 of the PTP clock."
        ::= { ptpv2Status 8 }

    stepsRemoved OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The steps removed of the PTP clock."
        ::= { ptpv2Status 9 }

    currentUtcOffset OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The current utc offset of the PTP clock."
        ::= { ptpv2Status 10 }

    currentUtcOffsetValid OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The current utc offset valid flag of the PTP clock."
        ::= { ptpv2Status 11 }
 
    leap59 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The leap59 of the PTP clock."
        ::= { ptpv2Status 12 }

    leap61 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The leap61 of the PTP clock."
        ::= { ptpv2Status 13 }

    ptpTimescale OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The ptp timescale of the PTP clock."
        ::= { ptpv2Status 14 }

    timesource OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only               
        STATUS current
        DESCRIPTION
            "The timesource of the PTP clock."
        ::= { ptpv2Status 15 }
                                                                                                                                                                                                                            
    ptpPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PtpPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The ptp port table."
        ::= { ieee1588Setting 5 }
    
    ptpPortEntry OBJECT-TYPE
        SYNTAX PtpPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The ptp port entry."
        INDEX { ptpPortIndex }
        ::= { ptpPortTable 1 }
        
    PtpPortEntry ::=
        SEQUENCE {
            ptpPortIndex
                INTEGER,        
            ptpPortEnable
                INTEGER,
            ptpPortStatus
                INTEGER
        }
    
    ptpPortIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The ptp port index."
        ::= { ptpPortEntry 1 }          

    ptpPortEnable OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the ptp port."
        ::= { ptpPortEntry 2 }
    
    ptpPortStatus OBJECT-TYPE
    	SYNTAX INTEGER { 
    		ptpInitializing(0), 
    		ptpFaulty(1), 
    		ptpDisabled(2), 
    		ptpListening(3), 
    		ptpPreMaster(4), 
    		ptpMaster(5), 
    		ptpPassive(6), 
    		ptpUncalibrated(7), 
    		ptpSlave(8) 
    	} 
        MAX-ACCESS read-only              
        STATUS current
        DESCRIPTION
            "This port status of the PTP clock."
        ::= { ptpPortEntry 3 }
                      
             
-- -------------------------------------------------------------
-- swTraps group
-- -------------------------------------------------------------
	mibNotificationsPrefix OBJECT IDENTIFIER
    ::= { iks6726A 0 }

  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 }

    varusbWarningTrap OBJECT-TYPE
		SYNTAX	INTEGER {
			noEnoughSpace(1),				-- usb no enough space
			unauthDevice(2),                -- usb is unauth device
			exportConfigFail(3),			-- usb export config file fail
			exportLogFail(4),	            -- usb export log file fail			
			autoImportFail(5),				-- usb auto import fail
			isAttached(6),	                -- usb is attached
			isDetached(7)               	-- usb is detached						
		}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"USB warning trap event."
		::= { swTraps 20 }

    usbWarningTrap NOTIFICATION-TYPE
    OBJECTS         { varusbWarningTrap }
    STATUS          current
		DESCRIPTION
			"USB warning trap event."
	::= { mibNotificationsPrefix 20 }

    varturboRingMasterMismatchTrap OBJECT-TYPE
		SYNTAX	INTEGER {
			none(1),				-- no topology mismatch
			ringMasterMismatch(2)	-- ring master mismatch
		}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The master of Turbo Ring has been mismatch."
		::= { swTraps 22 }

    turboRingMasterMismatchTrap NOTIFICATION-TYPE
    OBJECTS         { varturboRingMasterChangedTrap }
    STATUS          current
		DESCRIPTION
			"The master of Turbo Ring has been mismatch."
	::= { mibNotificationsPrefix 22 }    
        
    varPortLoopDetectedTrap OBJECT-TYPE
		SYNTAX	INTEGER 
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The DUT port is looping."
		::= { swTraps 17 }        

    portLoopDetectedTrap NOTIFICATION-TYPE
    OBJECTS         { varPortLoopDetectedTrap }
    STATUS          current		
		DESCRIPTION
			"The DUT port is looping."
	::= { mibNotificationsPrefix 17 }    
	
    varRateLimitedOnTrap OBJECT-TYPE
		SYNTAX	INTEGER  
		{
		    none(1),				-- no rate limit
		    rateLimitON(2),			-- rate limit ON
		    rateLimitOFF(3)			-- rate limit OFF

		}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The DUT port is rate limit."
		::= { swTraps 18 }        

    rateLimitedOnTrap NOTIFICATION-TYPE
    OBJECTS         { varRateLimitedOnTrap }
    STATUS          current		
		DESCRIPTION
			"The DUT port rate limit is ON."

	::= {  mibNotificationsPrefix 18 }

    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 }

 					
		varPoEWarningTrap OBJECT-TYPE
		SYNTAX	INTEGER {
			pdOverCurrent(1),		-- PoE port over-current/short-circuit
			pdCheckFail(2),			-- PD Failure Check (no response)
			pdPowerOn(3),			-- PoE port power on
			pdPowerOff(4),			-- PoE port power off
			exceedSystemThreshold(5),-- Exceed PoE system threshold
			pseFetBad(6),			-- PoE port External FET has failed
			pseOverTemperature(7),	-- PSE chip is over temperature
			pseVeeUvlo(8),			-- PSE chip VEE under voltage lockout
			exceedSystemPowerBudget(9) -- Exceel PoE system power budget
		}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The POE warning message."
		::= { swTraps 16 }

	poeWarningTrap NOTIFICATION-TYPE
    OBJECTS         { varPoEWarningTrap }
    STATUS          current
		DESCRIPTION
			"The POE warning message."
	::= { mibNotificationsPrefix 16 }
		
-- -------------------------------------------------------------
-- 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 functon."
        ::= { 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 }
     modbusTCPSetting 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 functon."
        ::= { eipSetting 1 }  	
    
        
    enableModbusTCP OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write                
        STATUS current
        DESCRIPTION
            "This enable the Modbus TCP functon."
        ::= { modbusTCPSetting 1 }     
        
    enableProfinetIO OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the PROFINET IO functon."
        ::= { 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 occured."
        ::= { eventlogEntry 3 }

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

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

    eventlogEvent OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The event which occured 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 functon."
        ::= { swMgmt 61 } 

-- -------------------------------------------------------------
-- event settings
-- -------------------------------------------------------------

    eventSettings OBJECT IDENTIFIER ::= { swMgmt 62 }   
    
    -- System Event Settings
    
    systemEventSettingsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SystemEventSettingsEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The system event settings table."
        ::= { eventSettings 1 }
    
    systemEventSettingsEntry OBJECT-TYPE
        SYNTAX SystemEventSettingsEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "System Event Settings Entry."
        INDEX { systemEventIndex }
        ::= { systemEventSettingsTable 1 }
        
    SystemEventSettingsEntry ::=
        SEQUENCE {
            systemEventIndex
                INTEGER,   
            systemEventActive
                INTEGER,            
            systemEventName
                DisplayString,  
            systemEventSupport
            	INTEGER,
            systemEventModuleEnable
                INTEGER,
            systemEventSeverity
                INTEGER
        }
        
    systemEventIndex OBJECT-TYPE
        SYNTAX INTEGER  
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Index of system event settings"
        ::= { systemEventSettingsEntry 1 }
        
    systemEventActive OBJECT-TYPE
        SYNTAX INTEGER {
	    inactive(0),
            active(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of active of system event settings"
        ::= { systemEventSettingsEntry 2 }

    
    systemEventName OBJECT-TYPE
        SYNTAX DisplayString  
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Name of system event settings"
        ::= { systemEventSettingsEntry 3 }
        
    systemEventSupport OBJECT-TYPE
        SYNTAX INTEGER {
	    none(0),
            support-SNMPTrap-only(1),
            support-Email-only(2),
            support-SNMP-Trap-Email(3),
            support-Syslog-only(4),
            support-SNMPTrap-Syslog(5),
            support-Email-Syslog(6),
            support-SNMPTrap-Email-Syslog(7),
            support-Relay1-only(8),
            support-SNMPTrap-Relay1(9),
            support-Email-Relay1(10),
            support-SNMPTrap-Email-Relay1(11),
            support-Syslog-Relay1(12),
            support-SNMPTrap-Syslog-Relay1(13),
            support-Email-Syslog-Relay1(14),
            support-SNMPTrap-Email-Syslog-Relay1(15),
            support-Relay2-only(16),
            support-SNMPTrap-Relay2(17),
            support-Email-Relay2(18),
            support-SNMPTrap-Email-Relay2(19),
            support-Syslog-Relay2(20),
            support-SNMPTrap-Syslog-Relay2(21),
            support-Email-Syslog-Relay2(22),
            support-SNMPTrap-Email-Syslog-Relay2(23),
            support-Relay1-Relay2(24),
            support-SNMPTrap-Relay1-Relay2(25),
            support-Syslog-Relay1-Relay2(28),
            support-Email-Syslog-Relay1-Relay2(30),
            support-all-SNMPTrap-Email-Syslog-Relay1-Relay2(31)
        }  
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Status of support modules of system event settings."
        ::= { systemEventSettingsEntry 4 }
        
    systemEventModuleEnable OBJECT-TYPE
        SYNTAX INTEGER {
	    none(0),
            enable-SNMPTrap-only(1),
            enable-Email-only(2),
            enable-SNMPTrap-Email(3),
            enable-Syslog-only(4),
            enable-SNMPTrap-Syslog(5),
            enable-Email-Syslog(6),
            enable-SNMPTrap-Email-Syslog(7),
            enable-Relay1-only(8),
            enable-SNMPTrap-Relay1(9),
            enable-Email-Relay1(10),
            enable-SNMPTrap-Email-Relay1(11),
            enable-Syslog-Relay1(12),
            enable-SNMPTrap-Syslog-Relay1(13),
            enable-Email-Syslog-Relay1(14),
            enable-SNMPTrap-Email-Syslog-Relay1(15),
            enable-Relay2-only(16),
            enable-SNMPTrap-Relay2(17),
            enable-Email-Relay2(18),
            enable-SNMPTrap-Email-Relay2(19),
            enable-Syslog-Relay2(20),
            enable-SNMPTrap-Syslog-Relay2(21),
            enable-Email-Syslog-Relay2(22),
            enable-SNMPTrap-Email-Syslog-Relay2(23),
            enable-Relay1-Relay2(24),
            enable-SNMPTrap-Relay1-Relay2(25),
            enable-Syslog-Relay1-Relay2(28),
            enable-Email-Syslog-Relay1-Relay2(30),
            enable-All-SNMPTrap-Email-Syslog-Relay1-Relay2(31)
        }  
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of enable of system event settings."
        ::= { systemEventSettingsEntry 5 }
        
    systemEventSeverity OBJECT-TYPE
        SYNTAX INTEGER {
	    emergency(0),
            alert(1),
            critical(2),
            error(3),
            warning(4),
            notice(5),
            information(6),
            debug(7)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Severity of system event settings"
        ::= { systemEventSettingsEntry 6 }
        
    -- Port Event Settings
        
    portEventSettingsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PortEventSettingsEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The port event settings table."
        ::= { eventSettings 2 }
    
    portEventSettingsEntry OBJECT-TYPE
        SYNTAX PortEventSettingsEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Port Event Settings Entry."
        INDEX { portEventIndex }
        ::= { portEventSettingsTable 1 }
        
    PortEventSettingsEntry ::=
        SEQUENCE {
            portEventIndex
                INTEGER,   
            portEventLabel
                DisplayString,         
            portEventActive
                INTEGER,
            portEventEnable
                INTEGER,   
            portEventTrafficThreshold
                INTEGER,
            portEventTrafficDuration
                INTEGER,
            portEventModuleEnable
                INTEGER,
            portEventSeverity
                INTEGER
        }
        
    portEventIndex OBJECT-TYPE
        SYNTAX INTEGER  
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Index of port event settings"
        ::= { portEventSettingsEntry 1 }
        
    portEventLabel OBJECT-TYPE
        SYNTAX DisplayString  
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Label of portEventIndex"
        ::= { portEventSettingsEntry 2 }
        
    portEventActive OBJECT-TYPE
        SYNTAX INTEGER {
	    inactive(0),
            active(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of active of port event settings"
        ::= { portEventSettingsEntry 3 }
        
    portEventEnable OBJECT-TYPE
        SYNTAX INTEGER {
	    none(0),
            enable-LinkOn-only(1),
            enable-LinkOff-only(2),
            enable-LinkOn-LinkOff(3),
            enable-TrafficOverload-only(4),
            enable-LinkOn-TrafficOverload(5),
            enable-LinkOff-TrafficOverload(6),
            enable-All-LinkOn-LinkOff-TrafficOverload(7)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of event enable of port event settings"
        ::= { portEventSettingsEntry 4 }
        
    portEventTrafficThreshold OBJECT-TYPE
        SYNTAX INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Threshold of Traffic-Overload in percentage(%)"
        ::= { portEventSettingsEntry 5 }
        
    portEventTrafficDuration OBJECT-TYPE
        SYNTAX INTEGER (1..300)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Duration of Traffic-Overload in secs(s)"
        ::= { portEventSettingsEntry 6 }
        
    portEventModuleEnable OBJECT-TYPE
        SYNTAX INTEGER {
	    none(0),
            enable-SNMPTrap-only(1),
            enable-Email-only(2),
            enable-SNMPTrap-Email(3),
            enable-Syslog-only(4),
            enable-SNMPTrap-Syslog(5),
            enable-Email-Syslog(6),
            enable-SNMPTrap-Email-Syslog(7),
            enable-Relay1-only(8),
            enable-SNMPTrap-Relay1(9),
            enable-Email-Relay1(10),
            enable-SNMPTrap-Email-Relay1(11),
            enable-Syslog-Relay1(12),
            enable-SNMPTrap-Syslog-Relay1(13),
            enable-Email-Syslog-Relay1(14),
            enable-SNMPTrap-Email-Syslog-Relay1(15),
            enable-Relay2-only(16),
            enable-SNMPTrap-Relay2(17),
            enable-Email-Relay2(18),
            enable-SNMPTrap-Email-Relay2(19),
            enable-Syslog-Relay2(20),
            enable-SNMPTrap-Syslog-Relay2(21),
            enable-Email-Syslog-Relay2(22),
            enable-SNMPTrap-Email-Syslog-Relay2(23),
            enable-Relay1-Relay2(24),
            enable-SNMPTrap-Relay1-Relay2(25),
            enable-Syslog-Relay1-Relay2(28),
            enable-Email-Syslog-Relay1-Relay2(30),
            enable-All-SNMPTrap-Email-Syslog-Relay1-Relay2(31)
        }  
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of module enable of port event settings."
        ::= { portEventSettingsEntry 7 }
        
    portEventSeverity OBJECT-TYPE
        SYNTAX INTEGER {
	    emergency(0),
            alert(1),
            critical(2),
            error(3),
            warning(4),
            notice(5),
            information(6),
            debug(7)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Severity of port event settings"
        ::= { portEventSettingsEntry 8 }
        
-- -------------------------------------------------------------
-- Management Interface
-- -------------------------------------------------------------

    managementInterface OBJECT IDENTIFIER ::= { swMgmt 63 } 

    httpEnable OBJECT-TYPE
        SYNTAX INTEGER {
	    disable(0),
            enable(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of http service"
        ::= { managementInterface 1 }

    httpPort OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Port of http service"
        ::= { managementInterface 2 }
        
    sslEnable OBJECT-TYPE
        SYNTAX INTEGER {
	    disable(0),
            enable(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of ssl(https) service"
        ::= { managementInterface 3 }
    	
    sslPort OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Port of ssl(https) service"
        ::= { managementInterface 4 }
        
    telnetEnable OBJECT-TYPE
        SYNTAX INTEGER {
	    disable(0),
            enable(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of telnet service"
        ::= { managementInterface 5 }
    
    telnetPort OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Port of telnet service"
        ::= { managementInterface 6 }
        
    sshEnable OBJECT-TYPE
        SYNTAX INTEGER {
	    disable(0),
            enable(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of ssh service"
        ::= { managementInterface 7 }
        
    sshPort OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Port of telnet service"
        ::= { managementInterface 8 }
    
    webTimeout OBJECT-TYPE
        SYNTAX INTEGER (0..1440)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Web Timeout (Mins). Set 0 to disable"
        ::= { managementInterface 9 }
		
		
-- -------------------------------------------------------------
-- Switch Locator LED.
-- -------------------------------------------------------------   
        
	switchLocator OBJECT IDENTIFIER ::= { swMgmt 64 }        
        
     blinkingLocatorLED OBJECT-TYPE
        SYNTAX INTEGER{
		off(0),
		on(1)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Blinking switch locator LED."
        ::= { switchLocator 1 }
        
     disableLocatorLEDTime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "Configure back-off time for disable switch locator LED."
        ::= { switchLocator 2 }		

-- -------------------------------------------------------------
-- New Web UI info.
-- -------------------------------------------------------------               
     uiVersion OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "New UI Version"
        ::= { swMgmt 65 }        
        
END
    
 
