-- SECTION 1: Top Level Definitions

HP-SN-AGENT-MIB DEFINITIONS ::= BEGIN

-- BigIron Router Switch Agent MIB Release 2.0.0
-- Revision 10/11/99

-- Copyright 1996 Foundry Networks, Inc.
-- All rights reserved.
-- This Foundry SNMP Management Information Base Specification
-- (Specification) embodies Foundry's confidential and
-- proprietary intellectual property. Foundry retains all
-- title and ownership in the Specification, including any
-- revisions.

-- This Specification is supplied "AS IS," and Foundry makes
-- no warranty, either express or implied, as to the use,
-- operation, condition, or performance of the Specification.


-- Imports

IMPORTS
        TimeTicks, IpAddress, Counter, Gauge
                FROM RFC1155-SMI
        OBJECT-TYPE
                FROM RFC-1212
        snChassis, snAgentSys, snStack
                FROM HP-SN-ROOT-MIB;


                -- textual conventions

          DisplayString ::=
              OCTET STRING
          -- This data type is used to model textual information taken
          -- from the NVT ASCII character set.  By convention, objects
          -- with this syntax are declared as having
          --
          --      SIZE (0..255)

          MacAddress ::=
              OCTET STRING (SIZE(6))
          -- This data type is used to model media addresses.  For many
          -- types of media, this will be in a binary representation.
          -- For example, an ethernet address would be represented as
          -- a string of 6 octets.

-- Groups

snChasGen       OBJECT IDENTIFIER ::= { snChassis 1 }
snChasPwr       OBJECT IDENTIFIER ::= { snChassis 2 }
snChasFan       OBJECT IDENTIFIER ::= { snChassis 3 }


-- SECTION 2: MIB Objects


-- General Chassis Information

snChasType OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The chassis type represents the type 
                of Foundry product being managed. "
        ::= { snChasGen 1 }



snChasSerNum OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..128))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The serial number of the chassis. If the
                serial number is unknown or unavailable then
                the value should be a zero length string."
        ::= { snChasGen 2 }



-- Power Supply Status


snChasPwrSupplyStatus OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                Chassis Power Supplies. This is a packed bit string;
                the 2 power supplies status are encoded into 4 bits
                (a nibble). 

                There are multiple power supplies per chassis in this release.
                The following shows the meaning of each bit:
                (bit 0 is the least significant bit).

                  bit position   meaning
                  ------------   -------
                          12-31  reserved
                      11     Power  Supply 4 DC (0=bad, 1=good).
                      10     Power  Supply 3 DC (0=bad, 1=good).
                      9      Power  Supply 4 present status (0=present, 1=not-present).
                      8      Power  Supply 3 present status (0=present, 1=not-present).
                          4-7    reserved
                      3      Power  Supply 2 DC (0=bad, 1=good).
                      2      Power  Supply 1 DC (0=bad, 1=good).
                      1      Power  Supply 2 present status (0=present, 1=not-present).
                      0      Power  Supply 1 present status (0=present, 1=not-present)."
        ::= { snChasGen 3 }


-- Fan Status


snChasFanStatus OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                fan status. This is a packed bit string. The
                status of each fan is encoded into one bit.

                  bit value    meaning
                  ---------    -------
                      0         fan failure.
                      1         fan good.

                There are two fans per VLAN Switch chassis in this release.
                The following shows the meaning of each bit:
                (bit 0 is the least significant bit).

                  bit position   meaning
                  ------------   -------
              4-31       reserved
              3          fan4 status
              2          fan3 status
              1          fan2 status
                      0          fan1 status"
        ::= { snChasGen 4 }




snChasMainBrdDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The main board description string. (It is obsoleted for Chassis Product)"
    ::= { snChasGen 5 }


snChasMainPortTotal OBJECT-TYPE
    SYNTAX INTEGER (1..24)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of ports for the main board. (It is obsoleted for Chassis Product)"
    ::= { snChasGen 6 }


snChasExpBrdDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The expansion board description string. Expansion
        board are those boards attaching on the main board.
        (It is obsoleted for Chassis Product)"
    ::= { snChasGen 7 }


snChasExpPortTotal OBJECT-TYPE
        SYNTAX INTEGER (1..24)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of ports for the expansion board.
        (It is obsoleted for Chassis Product)"
    ::= { snChasGen 8 }


snChasStatusLeds OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                front panel status LEDs. This is a bit-map; 
                each LED is encoded into 1 bit for each switch
                port.  The maximum number of ports in one chassis 
                is 24 that means 24 Ports Status LEDs. The expansion port 
                number always begins from the last main port number.  
                The following shows the meaning of each bit for each 
                switch port:

                  bit value  meaning
                  --------   ---------  
                     0         off (Link off)
                         1         on  (Link on)

                The bitmap of LEDs are as following: 
                          
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
                Byte 1:  LED1   LED2   LED3  LED4   LED5   LED6   LED7   LED8    
                Byte 2:  LED9   LED10  LED11 LED12  LED13  LED14  LED15  LED16     
                Byte 3:  LED17  LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
        ::= { snChasGen 9 }


snChasTrafficLeds OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                front panel traffic LEDs. This is a packed bit string; 
                each LED is encoded into 1 bit for each switch
                port.  The maximum number of ports in one chassis 
                is 24 that means 24 Ports Traffic LEDs. The expansion port 
                number always begins from the last main port number.  
                The following shows the meaning of each bit for each 
                switch port:

                  bit value  meaning
                  --------   ---------  
                     0         off (no traffic)
                         1         on  (traffic)

                The bitmap of LEDs are as following: 
                          
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
                Byte 1:  LED1   LED2   LED3  LED4   LED5   LED6   LED7   LED8    
                Byte 2:  LED9   LED10  LED11 LED12  LED13  LED14  LED15  LED16     
                Byte 3:  LED17  LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
        ::= { snChasGen 10 }


snChasMediaLeds OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                front panel media LEDs. This is a packed bit string; 
                each LED is encoded into 1 bit for each switch port.  
                The maximum number of ports in one chassis is 24 
                that means 24 Ports Media LEDs.  The expansion port 
                number always begins from the last main port number. 
                The following shows the meaning of each bit for each 
                switch port:

                bit value  meaning   
                ---------  -------
          0        half duplex
          1        full duplex

                The bitmap of LEDs are as following: 
                         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
                Byte 1:  LED1   LED2   LED3  LED4   LED5   LED6   LED7   LED8    
                Byte 2:  LED9   LED10  LED11 LED12  LED13  LED14  LED15  LED16     
                Byte 3:  LED17  LED18  LED19 LED20  LED21  LED22  LED23  LED24                    
        ---------"
        ::= { snChasGen 11 }


snChasEnablePwrSupplyTrap OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the SNMP agent process is
                permitted to generate power supply failure traps."
    DEFVAL { enabled }
        ::= { snChasGen 12 }

snChasMainBrdId OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
        STATUS mandatory
        DESCRIPTION
        "The main board identifier, which can uniquely identify a board
        type. It is an encoded octet string with the following meaning:
          octet 0  - octet string format version, which identifies the
                     format of this string.

        If format version octet has the value 1, the octets after the
        version octet have the following meaning:
          octet 1  - product type, FIWG=0x57, FIBB=0x42, FIMLS=0x4D
                     NI=0x4E, TI=0x54, TIRT=0x52
          octet 2  - board type, POWERPC=1, ALPHA=2
                  The length of the octet string is 27.

        If format version octet has the value 2, the octets after the
        version octet have the following meaning:
          octet 1  - product type: 
                                                BI_WG                                   0x57
                                                BI_BB                                   0x42
                                                BI_NI                                   0x4E
          octet 2  - module type:
                                                FI_MASTER_FIBER_8G              0x7
                                                FI_MASTER_FIBER_4G              0x5
                                                FI_MASTER_FIBER_2G              0x4
                                                FI_SLAVE_COPPER_24              0xB
                                                MASTER_FIBER_8G                 0x0
                                                MASTER_FIBER_4G                 0x1
                                                MASTER_FIBER_2G                 0x12    
                                                MASTER_FIBER_0G                 0x14
                                                MASTER_COPPER_16                0x2
                                                MASTER_COPPER_8G                0x6
                                                MASTER_COPPER_12_2              0x9
                                                SLAVE_FIBER_8G                  0x8
                                                SLAVE_FIBER_4G                  0x3
                                                SLAVE_COPPER_20                 0xA
                                                SLAVE_COPPER_24                 0xA
                                                SLAVE_100FX_8                   0xD
                                                SLAVE_100FX_16                  0xC
                                                SLAVE_COPPER_8G                 0xE
                                                SLAVE_COPPER_16_2               0xF
                                                STACK_FIBER_8G                  0x10
                                                STACK_COPPER_8G                 0x11
                                                SLAVE_100FX_24                  0x13
                  The length of the octet string is 28.

          Both format version 1 and 2:
          octet 3  - processor type, PVR_M603=3, PVR_M604=4, PVR_M603E=6,
                     PVR_M603EV=7, PVR_M604E=9
          octet 4 to
          octet 5  - processor speed in MHz
          octet 6  - MAC type: 
                                        MAC_SEEQ_10_100=1, 
                                        MAC_DEC_10_100=2,
                        MAC_SEEQ_1000=5, 
                                                MAC_GMAC_1000=6,        
                        MAC_VLSI_1000=9
          octet 7  - PHY type, PHY_NONE=0, PHY_QSI=1, PHY_ICS=3,
                     PHY_NATIONAL=4, PHY_LEVEL1=6, PHY_LEVEL16=7,
                     PHY_LEVEL24=8
          octet 8  - port type, COPPER=0, FIBER=1
          octet 9  - fiber port type, NONFIBER=0, SX_FIBER=1,
                     LX_FIBER=2, LHX_FIBER=3, LX_SX_FIBER=4,
                     LHB_FIBER=5
          octet 10 to
          octet 13 - DRAM size in KBytes
          octet 14 to
          octet 17 - boot flash size in KBytes
          octet 18 to
          octet 21 - code flash size in KBytes
          octet 22 to
          octet 27 - serial number.

                  Format version 1 only:
          octet 28 - chassis backplane type. 
                        chassis4000     =       0x00
                        chassis8000     =       0x04
                        Turbo8                  =       0x07 (stack2)
                        FastIron2               =       0x06 (stack1)"
        ::= { snChasGen 13 }


snChasExpBrdId OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The expansion board identifier. Expansion board are those
        boards attaching on the main board. It is an encoded octet
                string with the following meaning:
          octet 0  - octet string format version, which identifies
                     the format of this string.
        If format version octet has the value 1, the octets after
        the version octet have the following meaning:
          octet 1  - expansion board type, HUNDRED_MEG_1PORT=1,
                     HUNDRED_MEG_2PORT=2, HUNDRED_MEG_1PORT_COPPER=3,
                     HUNDRED_MEG_2PORT_COPPER=4, HUNDRED_MEG_2PORT_LX=5,
                     GIGA_1PORT=8, GIGA_2PORT=9
          octet 2  - fiber port type, NONFIBER=0, SX_FIBER=1,
                     LX_FIBER=2, LHX_FIBER=3, LX_SX_FIBER=4
        (It is obsoleted for Chassis Product)"
    ::= { snChasGen 14 }


snChasSpeedLeds OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                front panel media LEDs. This is a packed bit string; 
                each LED is encoded into 1 bit for each switch port.  
                The maximum number of ports in one chassis is 24 
                that means 24 Ports Speed LEDs.  The expansion port 
                number always begins from the last main port number. 
                The following shows the meaning of each bit for each 
                switch port:

                bit value  meaning   
                ---------  -------
          0        10 MBit
          1        100 MBit

                The bitmap of LEDs are as following: 
                         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
                Byte 1:  LED1   LED2   LED3  LED4   LED5   LED6   LED7   LED8    
                Byte 2:  LED9   LED10  LED11 LED12  LED13  LED14  LED15  LED16     
                Byte 3:  LED17  LED18  LED19 LED20  LED21  LED22  LED23  LED24                    
        ---------"
        ::= { snChasGen 15 }


snChasEnableFanTrap OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the SNMP agent process is
                permitted to generate fan failure traps."
    DEFVAL { enabled }
        ::= { snChasGen 16 }


snChasIdNumber OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..64))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "An administratively-assigned chassis identity number,
        used by inventory control."
    ::= { snChasGen 17 }


snChasActualTemperature OBJECT-TYPE
    SYNTAX  INTEGER (-110..250)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Temperature of the chassis. Each unit is 0.5 degrees Celcius.
                Only management module built with temperature sensor hardware
                is applicable. For those non-applicable management module, it
                returns no-such-name."
        ::= { snChasGen 18 }


snChasWarningTemperature OBJECT-TYPE
    SYNTAX  INTEGER (0..250)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Actual temperature higher than this threshold value will trigger
                the switch to send a temperature warning trap. Each unit is 0.5
                degrees Celcius. Only management module built with temperature
                sensor hardware is applicable. For those non-applicable management
                module, it returns no-such-name."
        ::= { snChasGen 19 }


snChasShutdownTemperature OBJECT-TYPE
    SYNTAX  INTEGER (0..250)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Actual temperature higher than this threshold value will shutdown
                a partial of the switch hardware to cool down the system. Each unit
                is 0.5 degrees Celcius. Only management module built with temperature
                sensor hardware is applicable. For those non-applicable management
                module, it returns no-such-name."
        ::= { snChasGen 20 }

snChasEnableTempWarnTrap OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the SNMP agent process is
                permitted to generate temperature warning traps."
    DEFVAL { enabled }
        ::= { snChasGen 21 }


-- Power Supply Table


snChasPwrSupplyTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnChasPwrSupplyEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table of each power supply information. Only installed
                power supply appears in a table row."
        ::= { snChasPwr 1 }

snChasPwrSupplyEntry OBJECT-TYPE
        SYNTAX  SnChasPwrSupplyEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A row in the power supply table."
        INDEX   { snChasPwrSupplyIndex }
        ::= { snChasPwrSupplyTable 1 }

SnChasPwrSupplyEntry ::= SEQUENCE {
        snChasPwrSupplyIndex
                INTEGER,
        snChasPwrSupplyDescription
                DisplayString,
        snChasPwrSupplyOperStatus
                INTEGER
        }

snChasPwrSupplyIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The index to power supply table."
        ::= { snChasPwrSupplyEntry 1 }

snChasPwrSupplyDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The power supply description string."
    ::= { snChasPwrSupplyEntry 2 }

snChasPwrSupplyOperStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                normal(2),
                failure(3)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The power supply operation status."
    ::= { snChasPwrSupplyEntry 3 }


-- Fan Table


snChasFanTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnChasFanEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table of each fan information. Only installed
                fan appears in a table row."
        ::= { snChasFan 1 }

snChasFanEntry OBJECT-TYPE
        SYNTAX  SnChasFanEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A row in the fan table."
        INDEX   { snChasFanIndex }
        ::= { snChasFanTable 1 }

SnChasFanEntry ::= SEQUENCE {
        snChasFanIndex
                INTEGER,
        snChasFanDescription
                DisplayString,
        snChasFanOperStatus
                INTEGER
        }

snChasFanIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The index to fan table."
        ::= { snChasFanEntry 1 }

snChasFanDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The fan description string."
    ::= { snChasFanEntry 2 }

snChasFanOperStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                normal(2),
                failure(3)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The fan operation status."
    ::= { snChasFanEntry 3 }


-- Agent Groups

snAgentGbl                              OBJECT IDENTIFIER ::= { snAgentSys 1 }
snAgentBrd                              OBJECT IDENTIFIER ::= { snAgentSys 2 }
snAgentTrp                              OBJECT IDENTIFIER ::= { snAgentSys 3 }
snAgentBoot                             OBJECT IDENTIFIER ::= { snAgentSys 4 }
snAgCfgEos                              OBJECT IDENTIFIER ::= { snAgentSys 5 }
snAgentLog                              OBJECT IDENTIFIER ::= { snAgentSys 6 }
snAgentSysParaConfig    OBJECT IDENTIFIER ::= { snAgentSys 7 }
snAgentConfigModule             OBJECT IDENTIFIER ::= { snAgentSys 8 }
snAgentUser                             OBJECT IDENTIFIER ::= { snAgentSys 9 }
snAgentRedundant                OBJECT IDENTIFIER ::= { snAgentSys 10 }
  


-- SECTION 2: MIB Objects


-- Agent's Global Group
        
snAgReload OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                running(2),
                reset(3)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action object to reboot the agent.
                The following values can only be read:
                  other(1).....agent in unknown or other state
                  running(2)...agent running

                The following value can be written:
                  reset(3).....do a hard reset

                The agent will return a
                response before the action occurs."
        ::= { snAgentGbl 1 }

snAgEraseNVRAM OBJECT-TYPE
        SYNTAX  INTEGER {
                normal(1),
                error(2),
                erase(3),
                erasing(4)              
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action object to erase NVRAM of the agent.
                The following values can only be read:
                  normal(1)
                  error(2)... operation failed or bad flash
                  erasing(4)...agent is erasing NVRAM flash

                The following value can be written:
                  erase(3).....do erase 

                The agent will return a response even before the erase is done.
                And the read value will be erasing until erase is done.
                And the erase request will be rejected until error or normal."
        ::= { snAgentGbl 2 }

snAgWriteNVRAM OBJECT-TYPE
        SYNTAX  INTEGER {
                normal(1),
                error(2),
                write(3),
                writing(4)              
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action object to save all configuration info to
                 NVRAM of the agent.
                The following values can only be read:
                  normal(1)
                  error(2)... operation failed or bad flash
                  writing(4)...agent is writing NVRAM flash

                The following value can be written:
                  write(3).....do write 

                The agent will return a response even before the write is done.
                And the read value will be writing until write is done.
                And the write request will be rejected until error or normal."
        ::= { snAgentGbl 3 }

snAgConfigFromNVRAM OBJECT-TYPE
        SYNTAX  INTEGER {
                normal(1),
                error(2),
                config(3),
                configing(4)
        }
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Action object to config the switch from NVRAM of the agent.
                The following values can only be read:
                  normal(1)
                  error(2)... operation failed or bad flash
                  configing(4)...configing from NVRAM flash is in process.
                The following value can be written:
                  config(3).....do config 

                The agent will return a response after config is done."
        ::= { snAgentGbl 4 }

--  image and config file down/up load 

snAgTftpServerIp OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The tftp server address, this will be used for both download/upload
                 image file and config file."
        ::= { snAgentGbl 5 }

snAgImgFname OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Name of the image file including path currently associated
                with the system. When the object is not used, the value is a
                zero length string."
        ::= { snAgentGbl 6 }


snAgImgLoad OBJECT-TYPE
        SYNTAX  INTEGER {
                normal(1),
                flashPrepareReadFailure(2),
                flashReadError(3),
                flashPrepareWriteFailure(4),
                flashWriteError(5),
                tftpTimeoutError(6),
                tftpOutOfBufferSpace(7),
                tftpBusy(8),
            tftpRemoteOtherErrors(9), 
            tftpRemoteNoFile(10), 
            tftpRemoteBadAccess(11), 
            tftpRemoteDiskFull(12), 
            tftpRemoteBadOperation(13), 
            tftpRemoteBadId(14), 
            tftpRemoteFileExists(15), 
            tftpRemoteNoUser(16), 
                operationError(17),
                loading(18),
                uploadPrimary(19),
                downloadPrimary(20),
                uploadSecondary(21),
                downloadSecondary(22),
                tftpWrongFileType(23)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action object to down/up load a new image
                to the agent. The following values:
                Error values: from normal(1) to operationError(17) and tftpWrongFileType(23).
                  loading(18) .. operation is in process.

                The following values are used for set :
                  uploadPrimary(19)..upload the Primary image from flash to tftp server.
                  downloadPrimary(20)..download the Primary image from tftp server to flash.
                  uploadSecondary(21)..upload the Secondary image from flash to tftp server. 
                  downloadSecondary(22)..download the Secondary image from tftp server to flash.

                The image filename is defined in
                snAgImgFname. The tftp server address is defined in snAgTftpServerIp.
                Atomic set of snAgImgLoad, snAgImgFname and  
                snAgTftpServerIp is required to allow down/up load to happen. 
                And the write request will be rejected during loading until error 
                or normal."
        ::= { snAgentGbl 7 }

snAgCfgFname OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Name of the config file(s) including path currently associated
                with the system. Some agents in special
                situations may support a value which contains
                multiple file names instead of a single file
                name. Multiple names are specified as a list
                of file names separated by semicolons (;).
                When the object is not used, the value is a
                zero length string."
        ::= { snAgentGbl 8 }

snAgCfgLoad OBJECT-TYPE
        SYNTAX  INTEGER {
                normal(1),
                flashPrepareReadFailure(2),
                flashReadError(3),
                flashPrepareWriteFailure(4),
                flashWriteError(5),
                tftpTimeoutError(6),
                tftpOutOfBufferSpace(7),
                tftpBusy(8),
            tftpRemoteOtherErrors(9), 
            tftpRemoteNoFile(10), 
            tftpRemoteBadAccess(11), 
            tftpRemoteDiskFull(12), 
            tftpRemoteBadOperation(13), 
            tftpRemoteBadId(14), 
            tftpRemoteFileExists(15), 
            tftpRemoteNoUser(16), 
                operationError(17),
                loading(18),
                uploadFromFlashToServer(20),
                downloadToFlashFromServer(21),
                uploadFromDramToServer(22),
                downloadToDramFromServer(23),
                uploadFromFlashToNMS(24),
                downloadToFlashFromNMS(25),
                uploadFromDramToNMS(26),
                downloadToDramFromNMS(27),
                operationDoneWithNMS(28),
                tftpWrongFileType(29)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action object to down/up load a config image
                to the agent. The following values can be
                read :
                Error values: from normal(1) to operationError(17) and tftpWrongFileType(29).
                  loading(18) .. operation is in process.


                The following value can be used to set:
                  uploadFromFlashToServer(20)..upload the config from flash
                                              to tftp server. 
                  downloadToFlashFromServer(21)..download the config to flash
                                                from tftp server.
                  uploadFromDramToServer(22)..upload the config from DRAM 
                                             to tftp server.
                  downloadToDramFromServer(23)..download the config to DRAM
                                               from tftp server.

                The following value can be used to set:
                  uploadFromFlashToNMS(24)..upload the config from flash to NMS. 
                  downloadToFlashFromNMS(25)..download the config to flash from NMS.
                  uploadFromDramToNMS(26)..upload the config from DRAM to NMS.
                  downloadToDramFromNMS(27)..download the config to DRAM from NMS.

                The config filename is defined in
                snAgCfgFname. The tftp server address is defined in snAgTftpServerIp.
                Atomic set of snAgCfgLoad, snAgCfgFname and  snAgTftpServerIp is
                required to allow down/up load to happen. And the write request 
                will be rejected during loading until error or normal.
                For those NMS commands from (24) to (27), The snAgCfgEosTable MIB must
                be sent along in one PDU.  A seperate write memory cli or set 
                snAgWriteNVRAM is required to save the config to NVRAM."
        ::= { snAgentGbl 9 }

-- default gateway ip address

snAgDefGwayIp OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The default gateway (router) address."         
        ::= { snAgentGbl 10 }


-- image version

snAgImgVer OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The version of the running software in the form
                'major.minor.maintenance[letters]'."
        ::= { snAgentGbl 11 }

snAgFlashImgVer OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The version of the software image saved in local
                storage such as flash memory in the form
                'major.minor.maintenance[letters]'. If not
                known or not available, then the value is
                a zero length string."
        ::= { snAgentGbl 12 }

snAgGblIfIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The interface ip address."
        ::= { snAgentGbl 13 }

snAgGblIfIpMask OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The interface ip address mask."
        ::= { snAgentGbl 14 }

snAgGblPassword OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..48))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "System Security Access Password and this is only 
                 allowed to use for setting but not for reading.
                 An SNMP-Get will get an zero string."
        ::= { snAgentGbl 15 }

snAgTrpRcvrCurEntry OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The current total entries of the Trap 
                Receiver Table are created."
        ::= { snAgentGbl 16 }

snAgGblDataRetrieveMode OBJECT-TYPE
        SYNTAX  INTEGER {
                nextbootCfg(0),             
                operationalData(1)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "By default, this mode is set to nextbootCfg(0).
                 The VLAN Table and Port-STP Table data will be retrieved
                 according to this mode.
                 nextbootCfg(0).........the nextboot configuration data are retrieved
                 operationalData(1)..........the current running data are retrieved"  
        ::= { snAgentGbl 19 }


snAgSystemLog OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(5))  
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The system log object to indicate whether any Network
                 Management Station(NMS) has login.  The first byte
                 of the octet string is the value decribed below and 
                 followed by 4 bytes of secret code.
                  login(1)..... a value for a NMS to login.
                  heartbeat(2)... a value for the login NMS periodically to 
                                checkin; Otherwise, the Agent will automatically
                                set this object to logout(3) after a timeout 
                                period. 
                  logout(3).... a value for a NMS to logout.
                  changePassword(4).... a value for the login NMS to change
                                password, only if snAgGblPasswordChangeMode
                                                was configured to 'anyMgmtEntity'.
                  changeReadOnlyCommunity(5).... a value for the login NMS
                                to change the read-only community string,
                                only if snAgGblPasswordChangeMode was
                                configured to 'anyMgmtEntity'.
                  changeReadWriteCommunity(6).... a value for the login NMS
                                to change the read-write community string,
                                only if snAgGblPasswordChangeMode was
                                configured to 'anyMgmtEntity'."
        ::= { snAgentGbl 20 }


snAgGblEnableColdStartTrap OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the SNMP agent process is
                permitted to generate cold start traps."
    DEFVAL { enabled }
        ::= { snAgentGbl 21 }


snAgGblEnableLinkUpTrap OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the SNMP agent process is
                permitted to generate link up traps."
    DEFVAL { enabled }
        ::= { snAgentGbl 22 }


snAgGblEnableLinkDownTrap OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the SNMP agent process is
                permitted to generate link down traps."
    DEFVAL { enabled }
        ::= { snAgentGbl 23 }

snAgGblPasswordChangeMode OBJECT-TYPE
        SYNTAX  INTEGER {
              anyMgmtEntity(1),
              consoleAndTelnet(2),
              consoleOnly(3),
              telnetOnly(4) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Specify which management entity is allowed to change
                the password. 'anyMgmtEntity' management entities are
                SNMP management station, console command line interface,
                and telnet command line interface. For security reason,
                this object can only be modified by console command line
                interface or telnet command line interface. The default
                value is 'consoleAndTelnet', of which both console and
                telnet command line interfaces are allowed to change
                the password."
        ::= { snAgentGbl 24 }

snAgGblReadOnlyCommunity OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "SNMP read community string and this is only allowed
                to use for setting but not for reading. An SNMP-Get
                will get an zero length string."
        ::= { snAgentGbl 25 }

snAgGblReadWriteCommunity OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "SNMP read-write community string and this is only
                allowed to use for setting but not for reading. An
                SNMP-Get will get an zero length string."
        ::= { snAgentGbl 26 }

snAgGblCurrentSecurityLevel OBJECT-TYPE
        SYNTAX  INTEGER (0..5)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "This represnts the current log-in security level.
                Each level of security requires a password to permit
                user for different system configurations."
        ::= { snAgentGbl 27 }

snAgGblSecurityLevelSet OBJECT-TYPE
        SYNTAX  INTEGER (0..5)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This shows which the security level password to be set."
        ::= { snAgentGbl 28 }

snAgGblLevelPasswordsMask OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "This shows the bitmap of level passwords which successfully assigned to the system."
        ::= { snAgentGbl 29 }

snAgGblQueueOverflow OBJECT-TYPE
        SYNTAX  INTEGER { false(0), true(1) } 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "false - The device queues are not overflow.
                 true  - The device queues are overflow."
        ::= { snAgentGbl 30 }

snAgGblBufferShortage OBJECT-TYPE
        SYNTAX  INTEGER { false(0), true(1) } 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "false - The device buffers are adequate.
                 true  - The device buffers are in shortage."
        ::= { snAgentGbl 31 }

snAgGblDmaFailure OBJECT-TYPE
        SYNTAX  INTEGER { false(0), true(1) } 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "false - The device DMAs are in good condition.
                 true  - One of the DMAs in the device fails."
        ::= { snAgentGbl 32 }

snAgGblResourceLowWarning OBJECT-TYPE
        SYNTAX  INTEGER { false(0), true(1) } 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "false - No, the device does not have resource-low-warning.
                 true  - Yes, the device does have resource-low-warning."
        ::= { snAgentGbl 33 }

snAgGblExcessiveErrorWarning OBJECT-TYPE
        SYNTAX  INTEGER { false(0), true(1) } 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "false - No, the device does not have any excessive collision, FCS errors, alignment warning etc.
                 true  - Yes, the device does have."
        ::= { snAgentGbl 34 }

snAgGblCpuUtilData OBJECT-TYPE
        SYNTAX  Gauge
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The statistics collection of utilization of the CPU in the device."
        ::= { snAgentGbl 35 }

snAgGblCpuUtilCollect OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "enable(1)  - The beginning of statistics collection of utilization of the CPU in the device.
                 disable(0) - The end of statistics collection of utilization of the CPU in the device."
        ::= { snAgentGbl 36 }

snAgGblTelnetTimeout OBJECT-TYPE
        SYNTAX  INTEGER (0..240)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Telnet session idling timeout value. Writing value 0 to
                this object never timeouts any telnet sessions. Each value
                unit is one minute."
        ::= { snAgentGbl 37 }

snAgGblEnableWebMgmt OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Enable/disable web management."
    DEFVAL { enabled }
        ::= { snAgentGbl 38 }

snAgGblSecurityLevelBinding OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "This represnts the binding of a given password to which
                security level. A value of 255 indicates an invalid
                binding."
        ::= { snAgentGbl 39 }

snAgGblEnableSLB OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Enable/disable Server Load Balancing."
        ::= { snAgentGbl 40 }

snAgSoftwareFeature OBJECT-TYPE
    SYNTAX  OCTET STRING
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit string representing the software feature of the running
                switch/router image. These features were conditional compiled
                to different product images. For each bit, exist feature has
                a value of 1, but non-exist feature has a value of 0.
                  octet 0, bit 0 - RMON
                  octet 0, bit 1 - ipx switching
                  octet 0, bit 2 - server load balancing
                  octet 0, bit 3 - layer 3 filter in switch
                  octet 0, bit 4 - ipx routing
                  octet 0, bit 5 - appletalk routing
                  octet 0, bit 6 - ip multicast routing
                  octet 0, bit 7 - local access control
                  octet 1, bit 0 - BGP routing
                  octet 1, bit 1 - loopback interface
                  octet 1, bit 2 - BigIron multi-management module
                  octet 1, bit 3 - BigIron SYSIF II
                  octet 1, bit 4 - BigIron POS support
                  octet 1, bit 5 - appletalk cable vlan
                  octet 1, bit 6 - 64 subnet
                  octet 1, bit 7 - multi-slot trunk
                  octet 2, bit 0 - TACACS
                  octet 2, bit 1 - Gigabit Ethernet port auto-negotiation mode
                  octet 2, bit 2 - FSRP
                  octet 2, bit 3 - Exodus requested OSPF enhancement
                  octet 2, bit 4 - OSPF NSSA
                  octet 2, bit 5 - POS
                  octet 2, bit 6 - QOS
                  octet 2, bit 7 - Single Span
                  octet 3, bit 0 - Fast Span
                  octet 3, bit 1 - Base L3
                  octet 3, bit 2 - static log buffer
                Bit 0 is the least significant bit of an octet, and
                bit 7 is the most significant bit of an octet."
        ::= { snAgentGbl 41 }

snAgGblEnableModuleInsertedTrap OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the SNMP agent process is permitted to
                generate hardware module inserted to chassis traps."
    DEFVAL { enabled }
        ::= { snAgentGbl 42 }

snAgGblEnableModuleRemovedTrap OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the SNMP agent process is permitted to
                generate hardware module removed from chassis traps."
    DEFVAL { enabled }
        ::= { snAgentGbl 43 }

snAgGblTrapMessage OBJECT-TYPE
    SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A generic trap message string."
        ::= { snAgentGbl 44 }

snAgGblEnableTelnetServer OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Enable or disable telnet server in device."
    DEFVAL { enabled }
        ::= { snAgentGbl 45 }

snAgGblTelnetPassword OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..48))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Telnet Access Password and this is only 
                 allowed to use for setting but not for reading.
                 An SNMP-Get will get an zero string."
        ::= { snAgentGbl 46 }

snAgBuildDate OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The date of the built software."
        ::= { snAgentGbl 47 }

snAgBuildtime OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The time of the built software."
        ::= { snAgentGbl 48 }

snAgBuildVer OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The version of the built software in the form
                'major.minor.maintenance[letters]'."
        ::= { snAgentGbl 49 }

-- Agent Board Table


snAgentBrdTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnAgentBrdEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table of each physical board information."
        ::= { snAgentBrd 1 }

snAgentBrdEntry OBJECT-TYPE
        SYNTAX  SnAgentBrdEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A row in the Agent Board table."
        INDEX   { snAgentBrdIndex }
        ::= { snAgentBrdTable 1 }

SnAgentBrdEntry ::= SEQUENCE {
        snAgentBrdIndex
                INTEGER,
        snAgentBrdMainBrdDescription
                DisplayString,
        snAgentBrdMainBrdId
                OCTET STRING,
        snAgentBrdMainPortTotal
                INTEGER,
        snAgentBrdExpBrdDescription
                DisplayString,
        snAgentBrdExpBrdId
                OCTET STRING,
        snAgentBrdExpPortTotal
                INTEGER,
        snAgentBrdStatusLeds 
                INTEGER,
        snAgentBrdTrafficLeds 
                INTEGER,
        snAgentBrdMediaLeds 
                INTEGER,
        snAgentBrdSpeedLeds 
                INTEGER,
        snAgentBrdModuleStatus
                INTEGER,
        snAgentBrdRedundantStatus
                INTEGER,
        snAgentBrdAlarmLeds 
                INTEGER,
        snAgentBrdTxTrafficLeds 
                INTEGER,
        snAgentBrdRxTrafficLeds 
                INTEGER
        }

snAgentBrdIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..8)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The index to the Agent Interface Table."
        ::= { snAgentBrdEntry 1 }

snAgentBrdMainBrdDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The main board description string."
    ::= { snAgentBrdEntry 2 }

snAgentBrdMainBrdId OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
        STATUS mandatory
        DESCRIPTION
        "The main board identifier, which can uniquely identify a board
        type. It is an encoded octet string with the following meaning:
          octet 0  - octet string format version, which identifies the
                     format of this string.
        If format version octet has the value 2, the octets after the
        version octet have the following meaning:
          octet 1  - product type: 
                                                BI_WG                                   0x57
                                                BI_BB                                   0x42
                                                BI_NI                                   0x4E
          octet 2  - module type:
                                                MASTER_FIBER_8G                 0x0
                                                MASTER_FIBER_4G                 0x1
                                                MASTER_FIBER_2G                 0x12    
                                                MASTER_FIBER_0G                 0x14    

                                                MASTER_COPPER_16                0x2
                                                MASTER_COPPER_8G                0x6
                                                MASTER_COPPER_12_2              0x9

                                                SLAVE_FIBER_8G                  0x8
                                                SLAVE_FIBER_4G                  0x3
                                                SLAVE_FIBER_2G                  0x17

                                                SLAVE_COPPER_8G                 0xE
                                                SLAVE_COPPER_2G                 0x18
                                                SLAVE_COPPER_16_2               0xF
                                                SLAVE_COPPER_20                 0xA
                                                SLAVE_COPPER_24                 0xA

                                                SLAVE_100FX_8                   0xD
                                                SLAVE_100FX_16                  0xC
                                                SLAVE_100FX_24                  0x13

                                                STACK_FIBER_8G                  0x10
                                                STACK_COPPER_8G                 0x11

                                                POS_622M                                0x15
                                                POS_155M                                0x16
          octet 3  - processor type, PVR_M603=3, PVR_M604=4, PVR_M603E=6,
                     PVR_M603EV=7, PVR_M604E=9
          octet 4 to
          octet 5  - processor speed in MHz
          octet 6  - MAC type: 
                                        MAC_SEEQ_10_100=1, 
                                        MAC_DEC_10_100=2,
                        MAC_SEEQ_1000=5, 
                                                MAC_GMAC_1000=6,        
                        MAC_VLSI_1000=9
          octet 7  - PHY type, PHY_NONE=0, PHY_QSI=1, PHY_ICS=3,
                     PHY_NATIONAL=4, PHY_LEVEL1=6, PHY_LEVEL16=7,
                     PHY_LEVEL24=8
          octet 8  - port type, COPPER=0, FIBER=1
          octet 9  - fiber port type, NONFIBER=0, SX_FIBER=1,
                     LX_FIBER=2, LHX_FIBER=3
          octet 10 to
          octet 13 - DRAM size in KBytes
          octet 14 to
          octet 17 - boot flash size in KBytes
          octet 18 to
          octet 21 - code flash size in KBytes
          octet 22 to
          octet 27 - serial number.
          octet 28 - chassis backplane type. 
                        chassis4000     =       0x00
                        chassis8000     =       0x04
                        Turbo8                  =       0x07 (stack2)
                        FastIron2               =       0x06 (stack1)"
        ::= { snAgentBrdEntry 3 }


snAgentBrdMainPortTotal OBJECT-TYPE
    SYNTAX INTEGER (1..32)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of ports for the main board."
    ::= { snAgentBrdEntry 4 }


snAgentBrdExpBrdDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The expansion board description string. Expansion
        board are those boards attaching on the main board."
    ::= { snAgentBrdEntry 5 }


snAgentBrdExpBrdId OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The expansion board identifier. Expansion board are those
        boards attaching on the main board. It is an encoded octet
                string with the following meaning:
          octet 0  - octet string format version, which identifies
                     the format of this string.
        If format version octet has the value 1, the octets after
        the version octet have the following meaning:
          octet 1  - expansion board type, HUNDRED_MEG_1PORT=1,
                     HUNDRED_MEG_2PORT=2, HUNDRED_MEG_1PORT_COPPER=3,
                     HUNDRED_MEG_2PORT_COPPER=4, HUNDRED_MEG_2PORT_LX=5,
                     GIGA_1PORT=8, GIGA_2PORT=9
          octet 2  - fiber port type, NONFIBER=0, SX_FIBER=1,
                     LX_FIBER=2, LHX_FIBER=3, LX_SX_FIBER=4"
    ::= { snAgentBrdEntry 6 }


snAgentBrdExpPortTotal OBJECT-TYPE
        SYNTAX INTEGER (1..24)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of ports for the expansion board."
    ::= { snAgentBrdEntry 7 }


snAgentBrdStatusLeds OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                front panel status LEDs. This is a bit-map; 
                each LED is encoded into 1 bit for each switch
                port.  The maximum number of ports in one chassis 
                is 32 that means 32 Ports Status LEDs. The expansion port 
                number always begins from the last main port number.  
                The following shows the meaning of each bit for each 
                switch port:

                  bit value  meaning
                  --------   ---------  
                     0         off (Link off)
                         1         on  (Link on)

                The bitmap of LEDs are as following: 
                          
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
                Byte 1:  LED1   LED2   LED3  LED4   LED5   LED6   LED7   LED8    
                Byte 2:  LED9   LED10  LED11 LED12  LED13  LED14  LED15  LED16     
                Byte 3:  LED17  LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
        ::= { snAgentBrdEntry 8 }


snAgentBrdTrafficLeds OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                front panel traffic LEDs. This is a packed bit string; 
                each LED is encoded into 1 bit for each switch
                port.  The maximum number of ports in one chassis 
                is 24 that means 24 Ports Traffic LEDs. The expansion port 
                number always begins from the last main port number.  
                The following shows the meaning of each bit for each 
                switch port:

                  bit value  meaning
                  --------   ---------  
                     0         off (no traffic)
                         1         on  (traffic)

                The bitmap of LEDs are as following: 
                          
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
                Byte 1:  LED1   LED2   LED3  LED4   LED5   LED6   LED7   LED8    
                Byte 2:  LED9   LED10  LED11 LED12  LED13  LED14  LED15  LED16     
                Byte 3:  LED17  LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
        ::= { snAgentBrdEntry 9 }


snAgentBrdMediaLeds OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                front panel media LEDs. This is a packed bit string; 
                each LED is encoded into 1 bit for each switch port.  
                The maximum number of ports in one chassis is 24 
                that means 24 Ports Media LEDs.  The expansion port 
                number always begins from the last main port number. 
                The following shows the meaning of each bit for each 
                switch port:

                bit value  meaning   
                ---------  -------
          0        half duplex
          1        full duplex

                The bitmap of LEDs are as following: 
                         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
                Byte 1:  LED1   LED2   LED3  LED4   LED5   LED6   LED7   LED8    
                Byte 2:  LED9   LED10  LED11 LED12  LED13  LED14  LED15  LED16     
                Byte 3:  LED17  LED18  LED19 LED20  LED21  LED22  LED23  LED24                    
        ---------"
        ::= { snAgentBrdEntry 10 }



snAgentBrdSpeedLeds OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                front panel media LEDs. This is a packed bit string; 
                each LED is encoded into 1 bit for each switch port.  
                The maximum number of ports in one chassis is 24 
                that means 24 Ports Speed LEDs.  The expansion port 
                number always begins from the last main port number. 
                The following shows the meaning of each bit for each 
                switch port:

                bit value  meaning   
                ---------  -------
          0        10 MBit
          1        100 MBit

                The bitmap of LEDs are as following: 
                         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
                Byte 1:  LED1   LED2   LED3  LED4   LED5   LED6   LED7   LED8    
                Byte 2:  LED9   LED10  LED11 LED12  LED13  LED14  LED15  LED16     
                Byte 3:  LED17  LED18  LED19 LED20  LED21  LED22  LED23  LED24                    
        ---------"
        ::= { snAgentBrdEntry 11 }

snAgentBrdModuleStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                moduleEmpty(0),             
                moduleGoingDown(2),
                moduleRejected(3),
                moduleBad(4),
                moduleComingUp(9),
                moduleRunning(10)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "By default, this mode is set to notActivated(0).
                moduleEmpty(0) ......... The slot of the chassis is empty.
                moduleGoingDown(2) ..... The module is going down.
                moduleRejected(3) ...... The module is being rejected due to wrong configuration.
                moduleBad(4) ........... The module Hardware is bad.
                moduleComingUp(9) ...... The module is in power-up cycle.
                moduleRunning(10) ....... The module is running."
        ::= { snAgentBrdEntry 12 }

snAgentBrdRedundantStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                active(2),             
                standby(3),
                crashed(4),
                comingUp(5)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The redundant status of a module. Non-management module always
                returns other(1). Management module returns the rest of the
                states."
        ::= { snAgentBrdEntry 13 }

snAgentBrdAlarmLeds OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                front panel media LEDs (for POS Module Only). This is a packed bit string; 
                each LED is encoded into 1 bit for each switch port.  
                The maximum number of ports in one chassis is 24 
                that means 24 Ports Speed LEDs.  The expansion port 
                number always begins from the last main port number. 
                The following shows the meaning of each bit for each 
                switch port:

                bit value  meaning   
                ---------  -------
          0        no alarm
          1        alarm

                The bitmap of LEDs are as following: 
                         (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
                Byte 1:  LED1   LED2   LED3  LED4   LED5   LED6   LED7   LED8    
                Byte 2:  LED9   LED10  LED11 LED12  LED13  LED14  LED15  LED16     
                Byte 3:  LED17  LED18  LED19 LED20  LED21  LED22  LED23  LED24                    
        ---------"
        ::= { snAgentBrdEntry 14 }


snAgentBrdTxTrafficLeds OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                front panel transmit traffic LEDs (for POS Module Only). This is a packed bit string; 
                each LED is encoded into 1 bit for each switch
                port.  The maximum number of ports in one chassis 
                is 24 that means 24 Ports Transmit Traffic LEDs. The expansion port 
                number always begins from the last main port number.  
                The following shows the meaning of each bit for each 
                switch port:

                  bit value  meaning
                  --------   ---------  
                     0         off (no transmit traffic)
                         1         on  (transmit traffic)

                The bitmap of LEDs are as following: 
                          
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
                Byte 1:  LED1   LED2   LED3  LED4   LED5   LED6   LED7   LED8    
                Byte 2:  LED9   LED10  LED11 LED12  LED13  LED14  LED15  LED16     
                Byte 3:  LED17  LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
        ::= { snAgentBrdEntry 15 }

snAgentBrdRxTrafficLeds OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array that contains the value of the
                front panel receive traffic LEDs (for POS Module Only). This is a packed bit string; 
                each LED is encoded into 1 bit for each switch
                port.  The maximum number of ports in one chassis 
                is 24 that means 24 Ports Receive Traffic LEDs. The expansion port 
                number always begins from the last main port number.  
                The following shows the meaning of each bit for each 
                switch port:

                  bit value  meaning
                  --------   ---------  
                     0         off (no receive traffic)
                         1         on  (receive traffic)

                The bitmap of LEDs are as following: 
                          
                 (Port1)            (Port4)                    (Port8)
        Bit      (Bit0)             (Bit3)                      (Bit7)
                Byte 1:  LED1   LED2   LED3  LED4   LED5   LED6   LED7   LED8    
                Byte 2:  LED9   LED10  LED11 LED12  LED13  LED14  LED15  LED16     
                Byte 3:  LED17  LED18  LED19 LED20  LED21  LED22  LED23  LED24
        --------"
        ::= { snAgentBrdEntry 16 }

-- Trap Receiver Table


snAgTrpRcvrTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnAgTrpRcvrEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table of managers which to send traps."
        ::= { snAgentTrp 1 }

snAgTrpRcvrEntry OBJECT-TYPE
        SYNTAX  SnAgTrpRcvrEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A row in the trap receiver table.
                The column snAgTrpRcvrStatus is used to create
                and delete rows in the table. Creation requires
                a SET PDU with objects snAgTrpRcvrIndex,
                snAgTrpRcvrIpAddr, snAgTrpRcvrComm and 
                snAgTrpRcvrStatus."
        INDEX   { snAgTrpRcvrIndex }
        ::= { snAgTrpRcvrTable 1 }

SnAgTrpRcvrEntry ::= SEQUENCE {
        snAgTrpRcvrIndex
                INTEGER,
        snAgTrpRcvrIpAddr
                IpAddress,
        snAgTrpRcvrComm
                OCTET STRING,
        snAgTrpRcvrStatus
                INTEGER
        }

snAgTrpRcvrIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..10)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The index to the Trap Receiver Table."
        ::= { snAgTrpRcvrEntry 1 }

snAgTrpRcvrIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The ip address for
                SNMP manager that is to receive the trap."
        ::= { snAgTrpRcvrEntry 2 }

snAgTrpRcvrComm OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Community string to use."
        ::= { snAgTrpRcvrEntry 3 }


snAgTrpRcvrStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                valid(2),
                delete(3),
                create(4),
                ignore(5)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object is used to create and
                delete rows in the table and control
                if they are used. The values
                that can be written are:
                  ignore(5)...don't use this entry to
                                send traps to at this time
                  delete(3)...deletes the row
                  create(4)...creates a new row

                If the row exists, then a SET with
                value of create(5) returns error
                'badValue'. Deleted rows go away
                immediately. The following values
                can be returned on reads:
                  other(1)....some other case
                  valid(2)....the row exists and is valid
                  ignore(5)...don't use this entry to
                                send traps to at this time"
        ::= { snAgTrpRcvrEntry 4 }


-- Boot Sequence Table


snAgBootSeqTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnAgBootSeqEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table of image load sequnce instructions to the boot code.
                Boot code will start from instruction of the first valid entry
                to load the image. If failed, it will use the second valid
                entry and so on, until a succesful load has completed. Each
                entry must have an unique instruction, duplicate instructions
                will be rejected."
        ::= { snAgentBoot 1 }

snAgBootSeqEntry OBJECT-TYPE
        SYNTAX  SnAgBootSeqEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A row in the boot sequence table."
        INDEX   { snAgBootSeqIndex }
        ::= { snAgBootSeqTable 1 }

SnAgBootSeqEntry ::= SEQUENCE {
        snAgBootSeqIndex
                INTEGER,
        snAgBootSeqInstruction
                INTEGER,
        snAgBootSeqIpAddr
                IpAddress,
        snAgBootSeqFilename
                DisplayString,
        snAgBootSeqRowStatus
                INTEGER
        }

snAgBootSeqIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..4)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The index to the boot sequence table."
        ::= { snAgBootSeqEntry 1 }

snAgBootSeqInstruction OBJECT-TYPE
        SYNTAX  INTEGER {
                fromPrimaryFlash(1),
                fromSecondaryFlash(2),
                fromTftpServer(3),
                fromBootpServer(4) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The instruction for the boot code."
        ::= { snAgBootSeqEntry 2 }

snAgBootSeqIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The ip address of the TFTP server if snAgBootSeqInstruction
                was set to 'fromTftpServer'; otherwise, this object is not
                used in any other boot instruction."
        ::= { snAgBootSeqEntry 3 }

snAgBootSeqFilename OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The image filename on the TFTP server if snAgBootSeqInstruction
                was set to 'fromTftpServer'; otherwise, this object is not
                used in any other boot instruction."
        ::= { snAgBootSeqEntry 4 }

snAgBootSeqRowStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                valid(2),
                delete(3),
                create(4) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "To create or delete a boot sequence table entry."
        ::= { snAgBootSeqEntry 5 }

--- Encoded Octet Strings for the Configuration File Transfer


snAgCfgEosTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnAgCfgEosEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "This table represents the fragmented Configuration File data packet 
                with checksum include in each rows of this table.  A SNMP-SET
                represents configuration file download, and a SNMP-GET represents
                configuration file upload.  This action is only if the SNMP-SET of
                snAgCfgLoad command is sent along with this table consecutively.  The 
                applicable snAgCfgLoad command value is as followings:
                uploadFromFlashToNMS(23),
                downloadToFlashFromNMS(24),
                uploadFromDramToNMS(25),
                downloadToDramFromNMS(26)." 
        ::= { snAgCfgEos 1 }


snAgCfgEosEntry OBJECT-TYPE
        SYNTAX  SnAgCfgEosEntry 
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "An EOS row in the table of encoded octet strings for table 
                snAgCfgEosTable. "
        INDEX  { snAgCfgEosIndex }
        ::= { snAgCfgEosTable 1 }



SnAgCfgEosEntry ::= 
        SEQUENCE {
        snAgCfgEosIndex
                INTEGER,
        snAgCfgEosPacket 
                OCTET STRING,
        snAgCfgEosChkSum
                INTEGER
        }


snAgCfgEosIndex OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                 "Each VLAN EOS Buffer Identifier have a multiple 
                 VLAN table entries."
        ::= { snAgCfgEosEntry 1 }

snAgCfgEosPacket OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..1000))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "An encoded octet string. On reads it contains an integral 
                number of configuration file data packets. The size 
                of each encoded octet string is less than or equal to 1400
                bytes."
        ::= { snAgCfgEosEntry 2 }


snAgCfgEosChkSum OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                 "A checksum of each configuration file data packet." 
        ::= { snAgCfgEosEntry 3 }


-- Stackable Management Group

snStackGen                              OBJECT IDENTIFIER ::= { snStack 1 }
snStackSecSwitchInfo    OBJECT IDENTIFIER ::= { snStack 2 }

-- MIB Objects


-- General Stackable Management Information

snStackPriSwitchMode OBJECT-TYPE
        SYNTAX  INTEGER {
                disabled(0),             
                enabled(1)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The Stackable Management Primary Switch mode
                 either enabled or disabled and the default is 
                 disabled mode.
                 enabled(1)...........primary switch enabled
                 disabled(0)..........primary switch disabled"  
        ::= { snStackGen 1 }

snStackMaxSecSwitch OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The Maximum Secondary Switches are allowed in the
                 Stackable Management Group."
        ::= { snStackGen 2 }

snStackTotalSecSwitch OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The Total Secondary Switches currently connected to the
                 Stackable Management Group."
        ::= { snStackGen 3 }

snStackSyncAllSecSwitch OBJECT-TYPE
        SYNTAX  INTEGER {
                normal(0),
                invalid(1),
                device(2),
                global(3),
                local(4)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Synchronize all the secondary switches in the
                 Stackable Management Group with the following commands.
                 device(2)...........device related parameters.
                 global(3)...........global parameters.  
                 local(4)............local parameters.
                 The return result of the above commands are either
                 normal(0)...........normal condition.
                 invalid(1)...........invalid result."  
        ::= { snStackGen 4 }

snStackSmSlotIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..8)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The Slot 0 is the Master slot and Slot 1-8 are slaves. 
                 All the slot-based MIB data can be retrieved with respect to 
                 this slot index such as snChassis global MIB. "
        ::= { snStackGen 5 }

snStackFmpSetProcess OBJECT-TYPE
        SYNTAX  INTEGER { 
                                                normal(0), 
                                                pending(1), 
                                                failure(2)
                                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "normal(0)  - The set process is either in an idle state or FMP-SET-SUCCESS state.
                 pending(1) - The pending process is waiting for the result of an FMP-SET.
                 failure(2) - The failure result of an FMP-SET."
        ::= { snStackGen 6 }




-- Stackable Management Secondary Switch Information Table


snStackSecSwitchTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnStackSecSwitchEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "If snSwGroupOperMode is configured as basic mode
                 which is VLAN by Port, Layer2 switching,
                 then this table is valid.  Each VLAN switch port
                 could have a number of VLAN IDs."
        ::= { snStackSecSwitchInfo 1 }


snStackSecSwitchEntry OBJECT-TYPE
        SYNTAX  SnStackSecSwitchEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "An entry in the Stackable Management Secondary Switch 
                 Information table."
        INDEX   { 
                snStackSecSwitchIndex
        }
        ::= { snStackSecSwitchTable 1 }


SnStackSecSwitchEntry ::= SEQUENCE {
        snStackSecSwitchIndex
                INTEGER,
        snStackSecSwitchSlotId
                INTEGER,
        snStackSecSwitchPortCnts
                INTEGER,
        snStackSecSwitchEnabled
                INTEGER,
        snStackSecSwitchAck
                INTEGER,
        snStackSecSwitchMacAddr
                MacAddress,
        snStackSecSwitchSyncCmd
                INTEGER, 
        snStackSecSwitchIpAddr
                IpAddress,
        snStackSecSwitchSubnetMask
                IpAddress,
        snStackSecSwitchCfgCmd
                INTEGER 
        }

snStackSecSwitchIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..26)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The secondary switch index must not be greater than the snStackMaxSecSwitch."
        ::= { snStackSecSwitchEntry 1 }


snStackSecSwitchSlotId OBJECT-TYPE
        SYNTAX  INTEGER (1..26)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The secondary switch slot ID must be set before the Configuration 
                 command sent from the primary switch to the secondary switch 
                 either manually or automatically - snStackSecSwitchCfgCmd."
        ::= { snStackSecSwitchEntry 2 }

snStackSecSwitchPortCnts OBJECT-TYPE
        SYNTAX  INTEGER (1..26)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of ports in this secondary switch."
        ::= { snStackSecSwitchEntry 3 }

snStackSecSwitchEnabled OBJECT-TYPE
        SYNTAX  INTEGER {
                disabled(0),             
                enabled(1)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The secondary switch has been selected to Stackable Management Group."
        ::= { snStackSecSwitchEntry 4 }

snStackSecSwitchAck OBJECT-TYPE
        SYNTAX  INTEGER {
                disabled(0),             
                enabled(1)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The secondary switch has sent reponse to the primary switch."
        ::= { snStackSecSwitchEntry 5 }

snStackSecSwitchMacAddr OBJECT-TYPE
        SYNTAX  MacAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The secondary switch physical address. The physical address 
                represents a MAC Station."
        ::= { snStackSecSwitchEntry 6 }

snStackSecSwitchSyncCmd OBJECT-TYPE
        SYNTAX  INTEGER {
                normal(0),
                invalid(1),
                device(2),
                global(3),
                local(4)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Synchronize the secondary switches in the
                 Stackable Management Group with the following commands.
                 device(2)...........device related parameters.
                 global(3)...........global parameters.  
                 local(4)............local parameters.
                 The return result of the above commands are either
                 normal(0)...........normal condition.
                 invalid(1)...........invalid result."  
        ::= { snStackSecSwitchEntry 7 }

snStackSecSwitchIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The secondary switch IP Address and is used for 
                 manual-command of snStackSecSwitchCfgCmd."
        ::= { snStackSecSwitchEntry 8 }

snStackSecSwitchSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The secondary switch IP Subnet Mask and is used for 
                 manual-command of snStackSecSwitchCfgCmd."
        ::= { snStackSecSwitchEntry 9 }

snStackSecSwitchCfgCmd OBJECT-TYPE
        SYNTAX  INTEGER {
                normal(0),
                invalid(1),
                auto(2),
                manual(3)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "snStackSecSwitchSlotId must be set before the Configuration 
                 command sent from the primary switch to the secondary switch 
                 either manually or automatically.
                 auto(2)...........auto-configuration command sent.
                 manual(3).........manual-configuration command sent.
                                                   if manual-mode is used, snStackSecSwitchIpAddr
                                                   and snStackSecSwitchSubnetMask must be
                                                   first set before this command is sent.
                 The return result of the above commands are either
                 normal(0)...........normal condition.
                 invalid(1)..........invalid result."  
        ::= { snStackSecSwitchEntry 10 }

-- System Logging Group

snAgSysLogGbl   OBJECT IDENTIFIER ::= { snAgentLog 1 }

snAgSysLogGblEnable OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Enable/disable system logging."
    DEFVAL { enabled }
        ::= { snAgSysLogGbl 1 }

snAgSysLogGblBufferSize OBJECT-TYPE
        SYNTAX  INTEGER (1..100)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The number of dynamic system logging entries."
    DEFVAL { 50 }
        ::= { snAgSysLogGbl 2 }

snAgSysLogGblClear OBJECT-TYPE
        SYNTAX  INTEGER { normal(0), clearAll(1), clearDynamic(2), clearStatic(3) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Clear dynamic and/or static system logging buffers."
        ::= { snAgSysLogGbl 3 }

snAgSysLogGblCriticalLevel OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Filter events going to the logging buffer. This is a packed
                bit string object of which each bit has the following meaning:
                (bit 0 is the least significant bit).

                  bit position   meaning
                  ------------   -------
                      8-31       reserved
                      7          Warning (warning conditions)
                      6          Notification (normal but significant conditions)
                      5          Informational (informational messages)
                      4          Error (error conditions)
                      3          Emergency (system is unusable)
                      2          Debugging (debugging messages)
                      1          Critical (critical conditions)
                      0          Alert (immediate action needed)

                Setting a critical level bit to 1 makes the logging buffer
                accept the corresponding event. Resetting a critical level
                bit to 0 makes the logging buffer reject the corresponding
                event."
    DEFVAL { 255 }
        ::= { snAgSysLogGbl 4 }

snAgSysLogGblLoggedCount OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number events logged in the system logging buffer."
        ::= { snAgSysLogGbl 5 }

snAgSysLogGblDroppedCount OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of events dropped."
        ::= { snAgSysLogGbl 6 }

snAgSysLogGblFlushedCount OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of times that the system logging buffer was cleared."
        ::= { snAgSysLogGbl 7 }

snAgSysLogGblOverrunCount OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of times that the system logging buffer was wrapped
                around."
        ::= { snAgSysLogGbl 8 }

snAgSysLogGblServer OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "IP address of syslog server."
        ::= { snAgSysLogGbl 9 }

snAgSysLogGblFacility OBJECT-TYPE
        SYNTAX  INTEGER {
                kern(1),
                user(2),
                mail(3),
                daemon(4),
                auth(5),
                syslog(6),
                lpr(7),
                news(8),
                uucp(9),
                sys9(10),
                sys10(11),
                sys11(12),
                sys12(13),
                sys13(14),
                sys14(15),
                cron(16),
                local0(17),
                local1(18),
                local2(19),
                local3(20),
                local4(21),
                local5(22),
                local6(23),
                local7(24)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Facility code."
    DEFVAL { user }
        ::= { snAgSysLogGbl 10 }

-- Dynamic System Logging Buffer Table

snAgSysLogBufferTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnAgSysLogBufferEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Dynamic system logging buffer table."
        ::= { snAgentLog 2 }

snAgSysLogBufferEntry OBJECT-TYPE
        SYNTAX  SnAgSysLogBufferEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A row in the dynamic system logging buffer table."
        INDEX   { snAgSysLogBufferIndex }
        ::= { snAgSysLogBufferTable 1 }

SnAgSysLogBufferEntry ::= SEQUENCE {
        snAgSysLogBufferIndex
                INTEGER,
        snAgSysLogBufferTimeStamp
                TimeTicks,
        snAgSysLogBufferCriticalLevel
                INTEGER,
        snAgSysLogBufferMessage
                DisplayString,
        snAgSysLogBufferCalTimeStamp
                DisplayString
        }

snAgSysLogBufferIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..100)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The index to the dynamic system logging buffer table."
        ::= { snAgSysLogBufferEntry 1 }

snAgSysLogBufferTimeStamp OBJECT-TYPE
        SYNTAX  TimeTicks
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A time stamp when the event is logged."
        ::= { snAgSysLogBufferEntry 2 }

snAgSysLogBufferCriticalLevel OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                alert(2),
                critical(3),
                debugging(4),
                emergency(5),
                error(6),
                informational(7),
                notification(8),
                warning(9) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The critical level of this event."
        ::= { snAgSysLogBufferEntry 3 }

snAgSysLogBufferMessage OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The system logging message."
        ::= { snAgSysLogBufferEntry 4 }

snAgSysLogBufferCalTimeStamp OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A time stamp when the event is logged. This object returns
                a NULL terminated time stamp string if the system calendar
                time was set. It returns a zero length string if the system
                calendar time was not set."
        ::= { snAgSysLogBufferEntry 5 }


-- Static System Logging Buffer Table

snAgStaticSysLogBufferTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnAgStaticSysLogBufferEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Static system logging buffer table."
        ::= { snAgentLog 3 }

snAgStaticSysLogBufferEntry OBJECT-TYPE
        SYNTAX  SnAgStaticSysLogBufferEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A row in the static system logging buffer table."
        INDEX   { snAgStaticSysLogBufferIndex }
        ::= { snAgStaticSysLogBufferTable 1 }

SnAgStaticSysLogBufferEntry ::= SEQUENCE {
        snAgStaticSysLogBufferIndex
                INTEGER,
        snAgStaticSysLogBufferTimeStamp
                TimeTicks,
        snAgStaticSysLogBufferCriticalLevel
                INTEGER,
        snAgStaticSysLogBufferMessage
                DisplayString,
        snAgStaticSysLogBufferCalTimeStamp
                DisplayString
        }

snAgStaticSysLogBufferIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..100)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The index to the static system logging buffer table."
        ::= { snAgStaticSysLogBufferEntry 1 }

snAgStaticSysLogBufferTimeStamp OBJECT-TYPE
        SYNTAX  TimeTicks
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A time stamp when the event is logged."
        ::= { snAgStaticSysLogBufferEntry 2 }

snAgStaticSysLogBufferCriticalLevel OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                alert(2),
                critical(3),
                debugging(4),
                emergency(5),
                error(6),
                informational(7),
                notification(8),
                warning(9) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The critical level of this event."
        ::= { snAgStaticSysLogBufferEntry 3 }

snAgStaticSysLogBufferMessage OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The system logging message."
        ::= { snAgStaticSysLogBufferEntry 4 }

snAgStaticSysLogBufferCalTimeStamp OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A time stamp when the event is logged. This object returns
                a NULL terminated time stamp string if the system calendar
                time was set. It returns a zero length string if the system
                calendar time was not set."
        ::= { snAgStaticSysLogBufferEntry 5 }


-- Agent System Parameters Configuration Table


snAgentSysParaConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnAgentSysParaConfigEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table of Agent of each board."
        ::= { snAgentSysParaConfig 1 }

snAgentSysParaConfigEntry OBJECT-TYPE
        SYNTAX  SnAgentSysParaConfigEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A row in the Agent System Parameters Configuation table."
        INDEX   { snAgentSysParaConfigIndex }
        ::= { snAgentSysParaConfigTable 1 }

SnAgentSysParaConfigEntry ::= SEQUENCE {
        snAgentSysParaConfigIndex
                INTEGER,
        snAgentSysParaConfigDescription
                DisplayString,
        snAgentSysParaConfigMin
                INTEGER,
        snAgentSysParaConfigMax 
                INTEGER,
        snAgentSysParaConfigDefault 
                INTEGER,
        snAgentSysParaConfigCurrent
                INTEGER
        }

snAgentSysParaConfigIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The index to the Agent System Parameters Configuation Table."
        ::= { snAgentSysParaConfigEntry 1 }

snAgentSysParaConfigDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..32))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The main board description string."
    ::= { snAgentSysParaConfigEntry 2 }

snAgentSysParaConfigMin OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The minimum value of this Agent System Parameter."
        ::= { snAgentSysParaConfigEntry 3 }

snAgentSysParaConfigMax OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The maximum value of this Agent System Parameter."
        ::= { snAgentSysParaConfigEntry 4 }

snAgentSysParaConfigDefault OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The default value of this Agent System Parameter."
        ::= { snAgentSysParaConfigEntry 5 }

snAgentSysParaConfigCurrent OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The current configurated value of this Agent System Parameter."
        ::= { snAgentSysParaConfigEntry 6 }


-- Agent Configured Module Table


snAgentConfigModuleTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnAgentConfigModuleEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table of each configured module information."
        ::= { snAgentConfigModule 1 }

snAgentConfigModuleEntry OBJECT-TYPE
        SYNTAX  SnAgentConfigModuleEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A row in the Agent Configured Module table."
        INDEX   { snAgentConfigModuleIndex }
        ::= { snAgentConfigModuleTable 1 }

SnAgentConfigModuleEntry ::= SEQUENCE {
        snAgentConfigModuleIndex
                INTEGER,
        snAgentConfigModuleType
                INTEGER,
        snAgentConfigModuleRowStatus
                INTEGER
        }

snAgentConfigModuleIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..8)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The index to the Agent Configured Module Table."
        ::= { snAgentConfigModuleEntry 1 }

snAgentConfigModuleType OBJECT-TYPE
        SYNTAX  INTEGER {
                bi8PortGigManagementModule(0),
                bi4PortGigManagementModule(1),
                bi16PortCopperManagementModule(2),
                bi4PortGigModule(3),
                fi2PortGigManagementModule(4),
                fi4PortGigManagementModule(5),
                bi8PortGigCopperManagementModule(6),
                fi8PortGigManagementModule(7),
                bi8PortGigModule(8),
                bi24PortCopperModule(10),
                fi24PortCopperModule(11),
                bi16Port100FXModule(12),
                bi8Port100FXModule(13),
                bi8PortGigCopperModule(14),
                bi2PortGigManagementModule(18),
                bi24Port100FXModule(19),
                bi0PortManagementModule(20),
                pos622MbsModule(21),
                pos155MbsModule(22),
                bi2PortGigModule(23),
                bi2PortGigCopperModule(24),
                fi2PortGigModule(25),
                fi4PortGigModule(26),
                fi8PortGigModule(27),
                fi8PortGigCopperModule(28),
                fi8PortGigCopperManagementModule(29),
                pos155Mbs2PModule(30),
                fi2PortGigCopperManagementModule(31),
                fi4PortGigCopperManagementModule(32),
                bi4PortGigCopperManagementModule(33),
                bi2PortGigCopperManagementModule(34)
                }

    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The Configured Module Type."
    ::= { snAgentConfigModuleEntry 2 }


snAgentConfigModuleRowStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                valid(2),
                delete(3),
                create(4) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "To create or delete a configured module table entry."
        ::= { snAgentConfigModuleEntry 3 }

-- Agent User Access Group


snAgentUserGbl OBJECT IDENTIFIER ::= { snAgentUser 1 }

snAgentUserMaxAccnt         OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Maximum number of user account entries can be configured."
        ::= { snAgentUserGbl 1 }


-- Agent User Account Table


snAgentUserAccntTable       OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnAgentUserAccntEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table of user account information."
        ::= { snAgentUser 2 }

snAgentUserAccntEntry       OBJECT-TYPE
        SYNTAX  SnAgentUserAccntEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A row in the Agent User table."
        INDEX   { snAgentUserAccntName }
        ::= { snAgentUserAccntTable 1 }

SnAgentUserAccntEntry ::= SEQUENCE {
        snAgentUserAccntName
                DisplayString,
        snAgentUserAccntPassword
                DisplayString,
        snAgentUserAccntEncryptCode
                INTEGER,
        snAgentUserAccntPrivilege
                INTEGER,
        snAgentUserAccntRowStatus
                INTEGER
        }

snAgentUserAccntName        OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..48))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The user name."
        ::= { snAgentUserAccntEntry 1 }

snAgentUserAccntPassword    OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..48))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The user password."
        ::= { snAgentUserAccntEntry 2 }

snAgentUserAccntEncryptCode OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
    DESCRIPTION
        "The password encryption method code."
    ::= { snAgentUserAccntEntry 3 }

snAgentUserAccntPrivilege   OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
    DESCRIPTION
        "The user privilege."
    ::= { snAgentUserAccntEntry 4 }

snAgentUserAccntRowStatus   OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                valid(2),
                delete(3),
                create(4),
                modify(5) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "To create or delete a user account table entry."
        ::= { snAgentUserAccntEntry 5 }

-- Agent Redundant Group


snAgentRedunGbl OBJECT IDENTIFIER ::= { snAgentRedundant 1 }

snAgentRedunActiveMgmtMod      OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Slot number of the active management module. Setting
                this object does not take effect immediately. Saving
                configuration data to flash storage and reboot the
                system are required to take effect. Setting a value of 0
                requests the system to auto-select an active management
                module after power up."
    DEFVAL { 0 }
        ::= { snAgentRedunGbl 1 }

snAgentRedunSyncConfig         OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Frequency of the backup management module copying the
                configuration data from the active management module.
                Each unit is 1 second. Setting a value 0 will disable
                the synchronization copy. Setting a negative value will
                initiate the synchronization copy once immediately."
    DEFVAL { 10 }
        ::= { snAgentRedunGbl 2 }

snAgentRedunBkupCopyBootCode   OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "If enabled(1), the backup management module copies the boot code
                from the active management module to its boot code flash storage
                after power up, and whenever the active management module's boot
                code is updated. The backup management module does not copy if
                both boot codes were identical."
    DEFVAL { disabled }
        ::= { snAgentRedunGbl 3 }

snAgentEnableMgmtModRedunStateChangeTrap OBJECT-TYPE
        SYNTAX  INTEGER { disabled(0), enabled(1) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the SNMP agent process is permitted to
                generate management module redundancy state change traps."
    DEFVAL { enabled }
        ::= { snAgentRedunGbl 4 }

snAgentRedunBkupBootLoad       OBJECT-TYPE
        SYNTAX  INTEGER {
                normal(1),
                operationError(17),
                downloadBackup(20)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action object to down load a new boot code from boot flash storage
                of the active management module to the backup management module.
                The following are returned values from get operation:
                  normal(1)............no operation
                  operationError(17)...error codes

                The following are input values from set operation:
                  downloadBackup(20)...download the boot code from the active
                                       management module to the backup management
                                       module

                Any set operation is rejected during loading until error
                or normal state is reached."
        ::= { snAgentRedunGbl 5 }

snAgentRedunSwitchOver         OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                reset(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "To force a switch-over from standby to active state
                if the backup management module exists in a chassis."
        ::= { snAgentRedunGbl 6 }

END
