
-- *****************************************************************
-- Moxa EtherDevice Switch EDS508 MIB
-- 2005-03-23
-- Copyright (c) 2005 by Moxa Networking Co., Ltd.
-- All rights reserved.
-- *****************************************************************
--

MOXA-EDS508-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        enterprises, IpAddress, OBJECT-TYPE FROM SNMPv2-SMI
        DateAndTime, TEXTUAL-CONVENTION  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
    
    etherDeviceSwitch   MODULE-IDENTITY
    LAST-UPDATED "200503220000Z"
    ORGANIZATION "Moxa Networking,Inc."
    CONTACT-INFO
            "Postal: Moxa Networking,Inc.
             Fl.8, No.6,Alley 6,Lane 235,Pao-Chiao Rd.
             Shing Tien City,Taipei,Taiwan,R.O.C
          
             Tel: +866-2-29101230 "
             
    DESCRIPTION
            "The MIB module for Moxa EDS-508 series specific information."
            
    REVISION    "200503230000Z"
    DESCRIPTION
             "Added new SYNTAX INTEGER to portMDI for:
                no(3)"

    REVISION    "200503220000Z"
    DESCRIPTION
             "Modify 'multicastIpGroup' to 'igmpSnoopingIpGroup' from the index of 'igmpSnoopingMulticastGroupEntry'."
            
    REVISION    "200503170000Z"
    DESCRIPTION
             "Fix compile-error in HPOpenView."             
            
    REVISION    "200412080000Z"
    DESCRIPTION
            "Modify the range of DisplayString Size from (1..255) to (1..512). 
             
             Modify the range of portIndex of PortEntry from (1..12) to (1..8).
             
             Modify the range of portIndex of PortEntry from (1..12) to (1..8).
             
             Modify the range of monitorPortIndex of MonitorPortEntry from (1..12) to (1..8).
             
             Modify the range of emailWarningPortIndex of EmailWarningEventPortEntry from (1..12) to (1..8)
             
             Modify the range of targetPort from (1..12) to (1..8).
             
             Modify the range of mirroringPort from (1..12) to (1..8).
             
             Redefine the SYNTAX INTEGER of protocolOfRedundancySetup from { none(0), spanningTree(1), turboRing(2) } to { spanningTree(1), turboRing(2) }.  
             
             Redefine the SYNTAX INTEGER of spanningTreeBridgePriority.
             
             Redefine the SYNTAX INTEGER of spanningTreePortPriority.
             
             Add activeProtocolOfRedundancy MIB object."
            
    REVISION    "200408310000Z"
    DESCRIPTION
            "Add portTrunkingGroup to portEntry."           

    REVISION    "200407190000Z"
    DESCRIPTION
            "Modify the moxa's enterprises oid from 8619 to 8691.
  
             Fix the monitorPortIndex object's definition from monitorEntry to monitorPortEntry.
             
             Fix diRelayWarningEntry definition problem.
                
             Modify the object name of neworkingSetting.1 from serverIpAddr to switchIpAddr.
   
             Modify the object name of neworkingSetting.2 from serverIpMask to switchIpMask.
    
             Modify the object name of emailService.1 from  emailWarningMailServerIpAddr to emailWarningMailServer.                                             
   
             Restrict the range of portDefaultVid to be between 1 and 4094.
   
             Restrict the range of vlanId to be between 1 and 4094.
   
             Add managementVlanId MIB object.   
   
             Add enableGlobalIgmpSnooping MIB object.    
   
             Added enumerated values to ingressNormalPriLimitRate for:
                Limit 16Mbps.                                                            
    
             Added enumerated values to ingressMediumlPriLimitRate for:
                Limit 16Mbps.
                Limit 32Mbps.             
    
             Added enumerated values to ingressHighPriLimitRate for:
                Limit 16Mbps.
                Limit 32Mbps.
                Limit 64Mbps."                                                             

    ::= { industrialEthernet 1 }    -- 1.3.6.1.4.1.8691.7.1
    
    DisplayString ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  ""
        SYNTAX       OCTET STRING (SIZE (0..512))
    
    portsNumber OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Total Ports."
        ::= { etherDeviceSwitch 1 }
    
    switchModel OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The switch model."
        ::= { etherDeviceSwitch 2 }
    
    firmwareVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The firmware version."
        ::= { etherDeviceSwitch 4 }
    
    enableWebConfig OBJECT-TYPE
        SYNTAX INTEGER
            {
            disable(0),
            enable(1)
            }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the Web. configuration function."
        ::= { etherDeviceSwitch 5 }
    
    enableTelnetConsole OBJECT-TYPE
        SYNTAX INTEGER
            {
            disable(0),
            enable(1)
            }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable telnet console."
        ::= { etherDeviceSwitch 6 }
    
    lineSwapRecovery OBJECT-TYPE
        SYNTAX INTEGER
            {
            disable(0),
            enable(1)
            }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable line-swap-fast-recovery function."
        ::= { etherDeviceSwitch 7 }
    
    
    networkSetting OBJECT IDENTIFIER ::= { etherDeviceSwitch 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 }
        
    snmpCommunityName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The SNMP read and 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 }

    portSetting OBJECT IDENTIFIER ::= { etherDeviceSwitch 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,
            portEnable
                INTEGER,
            portSpeed
                INTEGER,
            portMDI
                INTEGER,
            portFDXFlowCtrl
                INTEGER,
            portName
                DisplayString,
            portTrunkingGroup
                INTEGER
        }
    
    portIndex OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The port index."
        ::= { portEntry 1 }
        
    portEnable OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1) }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the port."
        ::= { portEntry 2 }
    
    portSpeed OBJECT-TYPE
        SYNTAX INTEGER
        {
        auto(0),
        speed100M-Full(1),
        speed100M-Half(2),
        speed10M-Full(3),
        speed10M-Half(4)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The port speed and duplex."
        ::= { portEntry 3 }
    
    portMDI OBJECT-TYPE
        SYNTAX INTEGER
        {
            auto(0),
            mdiX(1),
            mdi(2),
            no(3)
        }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port MDI/MDIX."
        ::= { portEntry 4 }     
        
    portFDXFlowCtrl OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port FDX Flow Control"
        ::= { portEntry 5 } 
        
    portName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port Name"
        ::= { portEntry 6 } 
        
    portTrunkingGroup OBJECT-TYPE
        SYNTAX INTEGER { none(0), trunkingGroup1(1), trunkingGroup2(2), trunkingGroup3(3), trunkingGroup4(4)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The trunking group number which this port belongs to."
        ::= { portEntry 7 }     
        
    monitor OBJECT IDENTIFIER ::= { etherDeviceSwitch 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 { monitorPortIndex }
        ::= { monitorPortTable 1 }
        
    MonitorPortEntry ::=
        SEQUENCE {
            monitorPortIndex
                INTEGER,
            monitorLinkStatus
                INTEGER,
            monitorSpeed
                INTEGER,
            monitorAutoMDI
                INTEGER,
            monitorTraffic
                INTEGER,
            monitorFDXFlowCtrl
                INTEGER
        }
    monitorPortIndex OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The port index of monitor function."
        ::= { monitorPortEntry 1 }
            
    monitorLinkStatus OBJECT-TYPE
        SYNTAX INTEGER { disable(-1), off(0), on(1) }
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The port link status."
        ::= { monitorPortEntry 2}
    
    monitorSpeed OBJECT-TYPE
        SYNTAX INTEGER
            {
            speed100M-Full(3),
            speed100M-Half(2),
            speed10M-Full(1),
            speed10M-Half(0),
            na(-1)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The port speed and duplex status."
        ::= { monitorPortEntry 3 }
    
    monitorAutoMDI OBJECT-TYPE
        SYNTAX INTEGER
            {
            mdiX(1),
            mdi(0),
            na(-1)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The port MDI/MDIX status."
        ::= { monitorPortEntry 4 }
    
    monitorTraffic OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The 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 }
                
    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 }
        
        
    emailWarning OBJECT IDENTIFIER ::= { etherDeviceSwitch 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 }
        
    emailWarningFirstEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The first email address of email warning function."
        ::= { emailService 2 }
        
    emailWarningSecondEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The second email address of email warning function."
        ::= { emailService 3 }
        
    emailWarningThirdEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The third email address of email warning function."
        ::= { emailService 4 }
        
    emailWarningFourthEmailAddr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The fourth email address of email warning function."
        ::= { emailService 5 }
        
    emailWarningEventType OBJECT IDENTIFIER ::= { emailWarning 2 }
        
    emailWarningEventServerColdStart OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The switch cold start event of email warning function."
        ::= { emailWarningEventType 1 }
        
    emailWarningEventServerWarmStart OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The switch warm start event of email warning function."
        ::= { emailWarningEventType 2 }
        
    emailWarningEventConfigChange OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The configuration changed event of email warning function."
        ::= { emailWarningEventType 3 }
        
    emailWarningEventPowerOn2Off OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The power on event of email warning function."
        ::= { emailWarningEventType 4 }
        
    emailWarningEventPowerOff2On OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The power off event of email warning function."
        ::= { emailWarningEventType 5 }
        
    emailWarningEventAuthFail OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The authentication fail event of email warning function."
        ::= { emailWarningEventType 6 }
        
    emailWarningEventCommRedundancyTopologyChanged OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The comm. redundancy topology changed event of email warning function."
        ::= { emailWarningEventType 7 }     
    
    emailWarningEventPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF EmailWarningEventPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The port table of the email warning event."
        ::= { emailWarning 3 }
    
    emailWarningEventPortEntry OBJECT-TYPE
        SYNTAX EmailWarningEventPortEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The port table entry of the email warning event."
        INDEX { emailWarningPortIndex }
        ::= { emailWarningEventPortTable 1 }
        
    EmailWarningEventPortEntry ::=
        SEQUENCE {
            emailWarningPortIndex
                INTEGER,
            emailWarningEventPortLinkOn
                INTEGER,
            emailWarningEventPortLinkOff
                INTEGER,
            emailWarningEventPortTrafficOverload
                INTEGER,
            emailWarningEventPortTrafficThreshold
                INTEGER,
            emailWarningEventPortTrafficDuration
                INTEGER             
        }
    emailWarningPortIndex OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The port table index of the email warning event."
        ::= { emailWarningEventPortEntry 1 }

    emailWarningEventPortLinkOn OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The port link on event of email warning function."
        ::= { emailWarningEventPortEntry 2 }
        
    emailWarningEventPortLinkOff OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The port link off event of email warning function."
        ::= { emailWarningEventPortEntry 3 }
        
    emailWarningEventPortTrafficOverload OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The port's traffic overloading event of email warning function."
        ::= { emailWarningEventPortEntry 4 }
        
    emailWarningEventPortTrafficThreshold OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port's traffic threshold of the overloading event."
        ::= { emailWarningEventPortEntry 5 }   
        
    emailWarningEventPortTrafficDuration OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The port's traffic duration of the overloading event."
        ::= { emailWarningEventPortEntry 6 }        
    
    emailWarningEventDiTable OBJECT-TYPE
        SYNTAX SEQUENCE OF EmailWarningEventDiEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The DI table of the email warning event."
        ::= { emailWarning 4 }
    
    emailWarningEventDiEntry OBJECT-TYPE
        SYNTAX EmailWarningEventDiEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The DI table entry of the email warning event."
        INDEX { diIndex }
        ::= { emailWarningEventDiTable 1 }
        
    EmailWarningEventDiEntry ::=
        SEQUENCE {
            emailWarningEventDiInputOn2Off
                INTEGER,
            emailWarningEventDiInputOff2On
                INTEGER
        }

    emailWarningEventDiInputOn2Off OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The DI input off event of email warning function ."
        ::= { emailWarningEventDiEntry 1 }
        
    emailWarningEventDiInputOff2On OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The DI input on event of email warning function."
        ::= { emailWarningEventDiEntry 2 }  
        
    setDeviceIp OBJECT IDENTIFIER ::= { etherDeviceSwitch 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 (1..12)
        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 } 
        
    mirroring OBJECT IDENTIFIER ::= { etherDeviceSwitch 13 }
        
    targetPort OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The mirrored port of mirroring function."
        ::= { mirroring 1 }
    
    mirroringPort OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The mirroring port of mirroring function."
        ::= { mirroring 2 }
    
    monitorDirection OBJECT-TYPE
        SYNTAX INTEGER
            {
            outputDataStream(1),
            biDirectional(2)
            }
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The traffic direction of mirroring function."
        ::= { mirroring 3 }     
    
        
    commRedundancy OBJECT IDENTIFIER ::= { etherDeviceSwitch 16 }
        
    
    protocolOfRedundancySetup OBJECT-TYPE
        SYNTAX INTEGER  { spanningTree(1), turboRing(2) }
        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  OCTET STRING(SIZE (6))
        ACCESS  read-only
        STATUS  mandatory
        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
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
              "The Port Number of the port on the Designated
               Bridge for this port's segment."  
     ::= { turboRingPortEntry 4 }
        
    turboRingDesignatedMaster OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE (6))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "The MAC address of the bridge which is the Master of the TURBO RING."
        ::= { turboRing 6 } 
        
    turboRingRdntPort1 OBJECT-TYPE
        SYNTAX  INTEGER(1..8)
        ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "The port number of 1st Redundant Port on the TURBO RING."
        ::= { turboRing 7 } 
        
    turboRingRdntPort2 OBJECT-TYPE
        SYNTAX  INTEGER(1..8)
        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 (1..12)
        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 (1..12)
        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
        }
    spanningTreeIndex OBJECT-TYPE
        SYNTAX INTEGER (1..12)
        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 }     
        
   activeProtocolOfRedundancy OBJECT-TYPE
        SYNTAX INTEGER  { none(0), spanningTree(1), turboRing(2) }
        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 }    
        
    relayWarning OBJECT IDENTIFIER ::= { etherDeviceSwitch 17 }   
    
    relayWarningTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RelayWarningEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The relay warning table."
        ::= { relayWarning 11 }
    
    relayWarningEntry OBJECT-TYPE
        SYNTAX RelayWarningEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Relay Warning Entry."
        INDEX { relayAlarmIndex }
        ::= { relayWarningTable 1 }
        
    RelayWarningEntry ::=
        SEQUENCE {
            relayAlarmIndex
                INTEGER,   
            relayWarningRelayContact
                INTEGER,            
            overrideRelayWarningSetting
                INTEGER,
            relayWarningPower1Off
                INTEGER,   
            relayWarningPower1OffStatus
                INTEGER,
            relayWarningPower2Off
                INTEGER,
            relayWarningPower2OffStatus
                INTEGER             
        }
        
    relayAlarmIndex OBJECT-TYPE
        SYNTAX INTEGER  (1..2)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The Relay alarm index."
        ::= { relayWarningEntry 1 }
        
    relayWarningRelayContact OBJECT-TYPE
        SYNTAX INTEGER  {closed(0) ,opened(1)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The first Relay contact status."
        ::= { relayWarningEntry 2 }

    
    overrideRelayWarningSetting OBJECT-TYPE
        SYNTAX INTEGER { no(0), yes(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Override the relay warning setting."
        ::= { relayWarningEntry 3 }
        
    relayWarningPower1Off OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The relay contact will be opened while the first power input off."
        ::= { relayWarningEntry 4 }    
        
    relayWarningPower1OffStatus OBJECT-TYPE
        SYNTAX INTEGER  { not-triggered(0), triggered(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The relay contact is opened as the first power input off.."
        ::= { relayWarningEntry 5 }    
        
    relayWarningPower2Off OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The relay contact will be opened while the second power input off."
        ::= { relayWarningEntry 6 }
        
    relayWarningPower2OffStatus OBJECT-TYPE
        SYNTAX INTEGER  { not-triggered(0), triggered(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The relay contact is opened as the second power input off."
        ::= { relayWarningEntry 7 }
        
        
    portRelayWarningTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PortRelayWarningEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The relay warning port table."
        ::= { relayWarning 12 }
    
    portRelayWarningEntry OBJECT-TYPE
        SYNTAX PortRelayWarningEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Port Relay Warning Entry."
        INDEX { portIndex,relayAlarmIndex }
        ::= { portRelayWarningTable 1 }
        
    PortRelayWarningEntry ::=
        SEQUENCE {
            relayWarningLinkChanged
                INTEGER,            
            relayWarningLinkChangedStatus
                INTEGER,
            relayWarningTrafficOverload
                INTEGER,   
            relayWarningTrafficOverloadStatus
                INTEGER,
            relayWarningTrafficThreshold
                INTEGER,
            relayWarningTrafficDuration
                INTEGER             
        }
    
    relayWarningLinkChanged OBJECT-TYPE
        SYNTAX INTEGER  { ignore(0), on2off(1), off2on(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The relay contact will be opened while this port's link status is changed."
        ::= { portRelayWarningEntry 1 }
                                                  
    relayWarningLinkChangedStatus OBJECT-TYPE
        SYNTAX INTEGER  { not-triggered(0), triggered(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The relay contact is opened as this port's link status is changed."
        ::= { portRelayWarningEntry 2 }
                                                  
    relayWarningTrafficOverload OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), enable(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The relay contact will be opened while this port's traffic is overload."
        ::= { portRelayWarningEntry 3 }  
        
    relayWarningTrafficOverloadStatus OBJECT-TYPE
        SYNTAX INTEGER  { not-triggered(0), triggered(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The relay contact is opened as this port's traffic is overload."
        ::= { portRelayWarningEntry 4 }
        
    relayWarningTrafficThreshold OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The threshold of the port traffic will be over loading."
        ::= { portRelayWarningEntry 5 }         
        
    relayWarningTrafficDuration OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The duration of the port traffic will be over loading."
        ::= { portRelayWarningEntry 6 }     
        
    diRelayWarningTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DiRelayWarningEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The relay warning DI table."
        ::= { relayWarning 13 }
    
    diRelayWarningEntry OBJECT-TYPE
        SYNTAX DiRelayWarningEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "DI Relay Warning Entry."
        INDEX { diIndex,relayAlarmIndex }
        ::= { diRelayWarningTable 1 }
        
    DiRelayWarningEntry ::=
        SEQUENCE {
            relayWarningDiInputChanged
                INTEGER,            
            relayWarningDiInputChangedStatus
                INTEGER

        }   
        
        
    relayWarningDiInputChanged OBJECT-TYPE
        SYNTAX INTEGER  { disable(0), off(1), on(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The relay contact will be opened while the DI input changed."
        ::= { diRelayWarningEntry 1 }       
        
    relayWarningDiInputChangedStatus OBJECT-TYPE
        SYNTAX INTEGER  { not-triggered(0), triggered(1) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The relay contact is opened as the first DI input changed.."
        ::= { diRelayWarningEntry 2 } 
         
        
    trafficPrioritization OBJECT IDENTIFIER ::= { etherDeviceSwitch 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,
            defaultPriority
                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 }  
        
    defaultPriority OBJECT-TYPE
        SYNTAX INTEGER {low(0),normal(1),medium(2),high(3)}
        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 {low(0),normal(1),medium(2),high(3)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The frame's priority corresponding to it's COS tag value."
        ::= { cosMappingEntry 2 }  
    
    tosMapping OBJECT IDENTIFIER ::= { trafficPrioritization 3 }    
    tosMappingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF TosMappingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The TOS mapping table."
        ::= { tosMapping 1 }
    
    tosMappingEntry OBJECT-TYPE
        SYNTAX TosMappingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "TOS mapping Entry."
        INDEX { tosClass }
        ::= { tosMappingTable 1 }
        
    TosMappingEntry ::=
        SEQUENCE {
            tosClass
                INTEGER,            
            tosMappedPriority
                INTEGER
            } 
    
    tosClass OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The TOS class of TOS field."
        ::= { tosMappingEntry 1 }  
        
    tosMappedPriority OBJECT-TYPE
        SYNTAX INTEGER {low(0),normal(1),medium(2),high(3)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The frame's priority corresponding to it's TOS class value."
        ::= { tosMappingEntry 2 }  
    
    
    vlan OBJECT IDENTIFIER ::= { etherDeviceSwitch 19 }
    vlanPortSettingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VlanPortSettingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The valn 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,
            portForbiddenVid
                DisplayString
            } 
    
    portVlanType OBJECT-TYPE
        SYNTAX INTEGER {access(0),trunk(1)}
        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 }      
        
        
    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
                OCTET STRING,
            joinedTrunkPorts
                OCTET STRING
            } 
    
    vlanId OBJECT-TYPE
        SYNTAX INTEGER (1..4094)
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The VLAN id."
        ::= { vlanEntry 1 }  

    joinedAccessPorts OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The access ports that joined this VID."
        ::= { vlanEntry 2 }  
        
    joinedTrunkPorts OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The trunk ports that joined this VID."
        ::= { vlanEntry 3 }     
        
    portVidSetTable OBJECT IDENTIFIER ::= { vlan 3 }
    
    port1DefaultVid OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Port 1 VLAN id."
        ::= { portVidSetTable 1 }

    port2DefaultVid OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Port 2 VLAN id."
        ::= { portVidSetTable 2 }

    port3DefaultVid OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Port 3 VLAN id."
        ::= { portVidSetTable 3 }

    port4DefaultVid OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Port 4 VLAN id."
        ::= { portVidSetTable 4 }

    port5DefaultVid OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Port 5 VLAN id."
        ::= { portVidSetTable 5 }

    port6DefaultVid OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Port 6 VLAN id."
        ::= { portVidSetTable 6 }

    port7DefaultVid OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Port 7 VLAN id."
        ::= { portVidSetTable 7 }

    port8DefaultVid OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Port 8 VLAN id."
        ::= { portVidSetTable 8 }

    managementVlanId OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The management VLAN id."
        ::= { portVidSetTable 9 }           

    pvidsAction OBJECT-TYPE
        SYNTAX INTEGER {normal(0), activate(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "activate default vid of all ports if set to activate(1)."
        ::= { portVidSetTable 10 }

    multicastFiltering OBJECT IDENTIFIER ::= { etherDeviceSwitch 20 }
    igmpSnooping OBJECT IDENTIFIER ::= { multicastFiltering 1 }
    
    querierQueryInterval OBJECT-TYPE
        SYNTAX INTEGER
        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,
            fixedMulticastRouterPorts
                OCTET STRING,
            learnedMulticastRouterPorts
                OCTET STRING
            } 
    
    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),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the querier function for this VLAN."
        ::= { igmpSnoopingSettingEntry 2 }  
    
    fixedMulticastRouterPorts OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The ports that multicast-rouer exist."
        ::= { igmpSnoopingSettingEntry 3 }  
        
    learnedMulticastRouterPorts OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The ports that multicast-rouer exist."
        ::= { igmpSnoopingSettingEntry 4 }      
        
    igmpSnoopingMulticastGroupTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpSnoopingMulticastGroupEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The multicast group table by IGMP snooping function."
        ::= { igmpSnooping 3 }
    
    igmpSnoopingMulticastGroupEntry OBJECT-TYPE
        SYNTAX IgmpSnoopingMulticastGroupEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The multicast group entry by IGMP snooping function."
        INDEX { vlanId,igmpSnoopingIpGroup }
        ::= { igmpSnoopingMulticastGroupTable 1 }
        
    IgmpSnoopingMulticastGroupEntry ::=
        SEQUENCE {
            igmpSnoopingIpGroup
                IpAddress,           
            igmpSnoopingMacGroup
                OCTET STRING,
            igmpSnoopingJoinedPorts
                OCTET STRING
            } 
    
    igmpSnoopingIpGroup OBJECT-TYPE
        SYNTAX IpAddress 
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The multicast IP group by IGMP snooping function."
        ::= { igmpSnoopingMulticastGroupEntry 1 }  
        
    igmpSnoopingMacGroup OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The multicast MAC group by IGMP snooping function."
        ::= { igmpSnoopingMulticastGroupEntry 2 }  
        
    igmpSnoopingJoinedPorts OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only                
        STATUS current
        DESCRIPTION
            "The ports that joined this multicast group."
        ::= { igmpSnoopingMulticastGroupEntry 3 }  
    
    enableGlobalIgmpSnooping OBJECT-TYPE
        SYNTAX INTEGER {disable(0),enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the IGMP snooping functon ."
        ::= { igmpSnooping 4 }  
    
    staticMulticast OBJECT IDENTIFIER ::= { multicastFiltering 2 }
    staticMulticastTable OBJECT-TYPE
        SYNTAX SEQUENCE OF StaticMulticastEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The static multicast table."
        ::= { staticMulticast 1 }
    
    staticMulticastEntry OBJECT-TYPE
        SYNTAX StaticMulticastEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Static multicast Entry."
        INDEX { staticMulticastAddress }
        ::= { staticMulticastTable 1 }
        
    StaticMulticastEntry ::=
        SEQUENCE {
            staticMulticastAddress
                OCTET STRING,           
            staticMulticastPortMask
                OCTET STRING,
            staticMulticastStatus
                INTEGER
            } 
    
    staticMulticastAddress OBJECT-TYPE
        SYNTAX OCTET STRING(SIZE (6))
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "The static multicast address."
        ::= { staticMulticastEntry 1 }  
        
    staticMulticastPortMask OBJECT-TYPE
        SYNTAX OCTET STRING
        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 }

    rateLimiting OBJECT IDENTIFIER ::= { etherDeviceSwitch 21 }
    rateLimitingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RateLimitingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The rate limiting table."
        ::= { rateLimiting 1 }
    
    rateLimitingEntry OBJECT-TYPE
        SYNTAX RateLimitingEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Rate limiting Entry."
        INDEX { portIndex }
        ::= { rateLimitingTable 1 }
        
    RateLimitingEntry ::=
        SEQUENCE {
            ingressLimitMode
                INTEGER,            
            ingressLowPriLimitRate
                INTEGER,
            ingressNormalPriLimitRate
                INTEGER,            
            ingressMediumPriLimitRate
                INTEGER,
            ingressHighPriLimitRate
                INTEGER,            
            egressLimitRate
                INTEGER
            } 
    
    ingressLimitMode OBJECT-TYPE
        SYNTAX INTEGER {all(0),bmucast(1),bmcast(2),bcast(3)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The ingress limit mode."
        ::= { rateLimitingEntry 1 }  
        
    ingressLowPriLimitRate OBJECT-TYPE
        SYNTAX INTEGER {notlimit(0),limit128k(1),limit256k(2),limit512k(3),
                        limit1M(4),limit2M(5),limit4M(6),limit8M(7)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The ingress limiting rate of low priority queue."
        ::= { rateLimitingEntry 2 }  

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

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

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

    egressLimitRate OBJECT-TYPE
        SYNTAX INTEGER {notlimit(0),limit128k(1),limit256k(2),limit512k(3),
                        limit1M(4),limit2M(5),limit4M(6),limit8M(7)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "The egress limiting rate."
        ::= { rateLimitingEntry 6 }  

    portLock OBJECT IDENTIFIER ::= { etherDeviceSwitch 22 }
    portLockTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PortLockEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The port lock table."
        ::= { portLock 1 }
    
    portLockEntry OBJECT-TYPE
        SYNTAX PortLockEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Port Lock Entry."
        INDEX { portIndex }
        ::= { portLockTable 1 }
        
    PortLockEntry ::=
        SEQUENCE {
            enablePortLock
                INTEGER          
            } 
    
    enablePortLock OBJECT-TYPE
        SYNTAX INTEGER { disable(0), enable(1)}
        MAX-ACCESS read-write               
        STATUS current
        DESCRIPTION
            "This enable the port lock."
        ::= { portLockEntry 1 }  
        
    staticUnicastTable OBJECT-TYPE
        SYNTAX SEQUENCE OF StaticUnicastEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "The static unicast table."
        ::= { portLock 2 }
    
    staticUnicastEntry OBJECT-TYPE
        SYNTAX StaticUnicastEntry
        MAX-ACCESS not-accessible               
        STATUS current
        DESCRIPTION
            "Static unicast Entry."
        INDEX { staticUnicastAddress }
        ::= { staticUnicastTable 1 }
        
    StaticUnicastEntry ::=
        SEQUENCE {
            staticUnicastAddress
                OCTET STRING,     
            staticUnicastPort
                INTEGER,      
            staticUnicastPriority
                INTEGER,
            staticUnicastStatus
                INTEGER
            } 
    
    staticUnicastAddress OBJECT-TYPE
        SYNTAX OCTET STRING(SIZE (6))
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "The static unicast address."
        ::= { staticUnicastEntry 1 }  
        
    staticUnicastPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "The port of the static unicast address."
        ::= { staticUnicastEntry 2 }  

    staticUnicastPriority OBJECT-TYPE
        SYNTAX INTEGER {low(0),normal(1),medium(2),high(3)}
        MAX-ACCESS read-create              
        STATUS current
        DESCRIPTION
            "The priority of the static unicast address."
        ::= { staticUnicastEntry 3 }        

    staticUnicastStatus 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."
        ::= { staticUnicastEntry 4 }

    accessibleIP OBJECT IDENTIFIER ::= { etherDeviceSwitch 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,
            aIpStatus
                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 }     

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

    sysFileUpdate OBJECT IDENTIFIER ::= { etherDeviceSwitch 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 }
        
    timeSetting OBJECT IDENTIFIER ::= { etherDeviceSwitch 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 }
    

    
-- definition of enterprise traps.

    configChangeTrap TRAP-TYPE
           ENTERPRISE   etherDeviceSwitch
           DESCRIPTION
               "The configuration has been changed."
       ::= 10       
    powerOn2OffTrap TRAP-TYPE
           ENTERPRISE   etherDeviceSwitch
           DESCRIPTION
               "The power input fail."
       ::= 11   
    powerOff2OnTrap TRAP-TYPE
           ENTERPRISE   etherDeviceSwitch
           DESCRIPTION
               "The power input ok."
       ::= 12     
    trafficOverloadTrap TRAP-TYPE
           ENTERPRISE   etherDeviceSwitch
           DESCRIPTION
               "The ethernet port's traffic loading exceeds the pre-defined value."
       ::= 13       
    redundancyTopologyChangedTrap TRAP-TYPE
           ENTERPRISE   etherDeviceSwitch
           DESCRIPTION
               "The redundancy topology has been changed."
       ::= 14           
       
    turboRingCouplingPortChangedTrap TRAP-TYPE
           ENTERPRISE   etherDeviceSwitch
           DESCRIPTION
               "The coupling path of Turbo Ring has been changed."       
       ::= 15   
                
    turboRingMasterChangedTrap TRAP-TYPE
           ENTERPRISE   etherDeviceSwitch
           DESCRIPTION
               "The master of Turbo Ring has been changed."
       ::= 16           
        
        
END
    
