PowerConnect3248-MIB DEFINITIONS ::= BEGIN

IMPORTS
       
        MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Integer32, IpAddress,
        NOTIFICATION-TYPE, internet, Counter32
                FROM SNMPv2-SMI
        DisplayString, RowStatus, TruthValue
                FROM SNMPv2-TC
        EnabledStatus 
                FROM P-BRIDGE-MIB
        BridgeId, Timeout, dot1dStpPortEntry, dot1dStpPort
                FROM BRIDGE-MIB
        PortList
                FROM Q-BRIDGE-MIB
        ifIndex
                FROM IF-MIB;


private             OBJECT IDENTIFIER ::= { internet 4 }
enterprises         OBJECT IDENTIFIER ::= { private 1 }
dell                OBJECT IDENTIFIER ::= { enterprises 674 }
dellLan             OBJECT IDENTIFIER ::= { dell 10895 }


powerConnect3248MIB MODULE-IDENTITY
        LAST-UPDATED "200109060000Z"
        ORGANIZATION "Dell Computer Corporation"
        CONTACT-INFO
                "support.dell.com"
        DESCRIPTION
                "The private MIB module definition for the Dell 
		 		 PowerConnect 3248 Network Switch."
        REVISION "200109060000Z"
        DESCRIPTION
                "Initial version of this MIB."
        ::= { dellLan 3 }


powerConnect3248MIBObjects       OBJECT IDENTIFIER ::= { powerConnect3248MIB 1 }
powerConnect3248Notifications    OBJECT IDENTIFIER ::= { powerConnect3248MIB 2 }
powerConnect3248Conformance      OBJECT IDENTIFIER ::= { powerConnect3248MIB 3 }


switchMgt           OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 1 }
portMgt             OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 2 }
trunkMgt            OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 3 }
lacpMgt             OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 4 }
staMgt              OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 5 }
tftpMgt             OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 6 }
restartMgt          OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 7 }
mirrorMgt           OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 8 }
igmpSnoopMgt        OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 9 }
ipMgt               OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 10 }
bcastStormMgt       OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 11 }
vlanMgt             OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 12 }
priorityMgt         OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 13 }
trapDestMgt         OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 14 }
securityMgt         OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 17 }
sysLogMgt           OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 19 }
lineMgt             OBJECT IDENTIFIER ::= { powerConnect3248MIBObjects 20 }


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

ValidStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A simple status value for the object to create and destroy
         a table entry. This is a simplified variant of RowStatus as it
         supports only two values. Setting it to valid(1) creates an entry.
         Setting it to invalid(2) destroys an entry."
    SYNTAX      INTEGER { valid(1), invalid(2) }
    
--
-- switchMgt
--

switchManagementVlan OBJECT-TYPE
        SYNTAX      INTEGER (1..4094)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The VLAN on which management is done."
        ::= { switchMgt 1 }

switchNumber OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The total number of switches present on this system."
        ::= { switchMgt 2 }

switchInfoTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwitchInfoEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table of descriptive and status information about
                     switches in this system."
        ::= { switchMgt 3 }

switchInfoEntry OBJECT-TYPE
        SYNTAX      SwitchInfoEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in the table, containing information
                     about a single switch in this system."
        INDEX       { swUnitIndex }
        ::= { switchInfoTable 1 }

SwitchInfoEntry ::= SEQUENCE
{
    swUnitIndex             Integer32,
    swHardwareVer           DisplayString,
    swMicrocodeVer          DisplayString,
    swLoaderVer             DisplayString,
    swBootRomVer            DisplayString,
    swOpCodeVer             DisplayString,
    swPortNumber            Integer32,
    swPowerStatus           INTEGER,
    swRoleInSystem          INTEGER,
    swSerialNumber          DisplayString,
    swExpansionSlot1        INTEGER,
    swExpansionSlot2        INTEGER,
    swServiceTag            DisplayString
}

swUnitIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This object identifies the switch within the system
                     for which this entry contains information. This
                     value can never be greater than switchNumber."
        ::= { switchInfoEntry 1 }

swHardwareVer OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Hardware version of the main board."
        ::= { switchInfoEntry 2 }

swMicrocodeVer OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Microcode version of the main board."
        ::= { switchInfoEntry 3 }

swLoaderVer OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Loader version of the main board."
        ::= { switchInfoEntry 4 }

swBootRomVer OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Boot ROM code version of the main board."
        ::= { switchInfoEntry 5 }

swOpCodeVer OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Operation code version of the main board."
        ::= { switchInfoEntry 6 }

swPortNumber OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The total port number of this switch
                     (including expansion slot)."
        ::= { switchInfoEntry 7 }

swPowerStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        internalPower(1),
                        redundantPower(2),
                        internalAndRedundantPower(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates the switch using internalPower(1),
                     redundantPower(2) or both(3)"
        ::= { switchInfoEntry 8 }

swRoleInSystem OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        master(1),
                        backupMaster(2),
                        slave(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates the switch is master(1), backupMaster(2)
                     or slave(3) in this system."
        ::= { switchInfoEntry 9 }

swSerialNumber OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..80))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Serial number of the switch."
        ::= { switchInfoEntry 10 }

swExpansionSlot1 OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        notPresent(1),
                        other(2),
                        hundredBaseFxScMmf(3),
                        hundredBaseFxScSmf(4),
                        hundredBaseFxMtrjMmf(5),
                        thousandBaseSxScMmf(6),
                        thousandBaseSxMtrjMmf(7),
                        thousandBaseXGbic(8),
                        thousandBaseLxScSmf(9),
                        thousandBaseT(10),
                        stackingModule(11),
                        thousandBaseSfp(12) 
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Type of expansion module in this switch slot 1."
        ::= { switchInfoEntry 11 }

swExpansionSlot2 OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        notPresent(1),
                        other(2),
                        hundredBaseFxScMmf(3),
                        hundredBaseFxScSmf(4),
                        hundredBaseFxMtrjMmf(5),
                        thousandBaseSxScMmf(6),
                        thousandBaseSxMtrjMmf(7),
                        thousandBaseXGbic(8),
                        thousandBaseLxScSmf(9),
                        thousandBaseT(10),
                        stackingModule(11),
                        thousandBaseSfp(12)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Type of expansion module in this switch slot 2."
        ::= { switchInfoEntry 12 }

swServiceTag OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..80))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Service tag serial-number of the switch."
        ::= { switchInfoEntry 13 }

switchOperState OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        other(1),
                        unknown(2),
                        ok(3),
                        noncritical(4),
                        critical(5),
                        nonrecoverable(6)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Global operation state of the switch."
        ::= { switchMgt 4 }

switchProductId     OBJECT IDENTIFIER ::= { switchMgt 5 }

swProdName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..127))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION ""
        ::= { switchProductId 1 }

swProdManufacturer OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..127))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION ""
        ::= { switchProductId 2 }

swProdDescription OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..127))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION ""
        ::= { switchProductId 3 }

swProdVersion OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..127))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION ""
        ::= { switchProductId 4 }

swProdUrl OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..127))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION ""
        ::= { switchProductId 5 }

swIdentifier OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A unique identifier of which switch in the chassis is currently 
                     being looked at."
        ::= { switchProductId 6 }
        
swChassisServiceTag OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..80))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The service tag of the chassis this switch resides in."
        ::= { switchProductId 7 }

switchIndivPowerTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwitchIndivPowerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table about statuses of individual powers."
        ::= { switchMgt 6 }

switchIndivPowerEntry OBJECT-TYPE
        SYNTAX      SwitchIndivPowerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table about statuses of individual powers."
        INDEX       { swIndivPowerUnitIndex, swIndivPowerIndex }
        ::= { switchIndivPowerTable 1 }

SwitchIndivPowerEntry ::= SEQUENCE
{
    swIndivPowerUnitIndex   Integer32,
    swIndivPowerIndex       INTEGER,
    swIndivPowerStatus      INTEGER
}

swIndivPowerUnitIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is defined as swUnitIndex."
        ::= { switchIndivPowerEntry 1 }

swIndivPowerIndex OBJECT-TYPE
        SYNTAX      INTEGER (1..2)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "1 means internal power. 2 means external power."
        ::= { switchIndivPowerEntry 2 }

swIndivPowerStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        notPresent(1),
                        green(2),
                        red(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "notPresent(1) means not present. green(2) means
                     up. red(3) means down."
        ::= { switchIndivPowerEntry 3 }

--
-- portMgt
--

portTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table of descriptive and status information about
                     configuration of each switch port (including expansion slot)
                     in this system. This table also contains information
                     about each trunk (similar to Cisco's EtherChannel)."
        ::= { portMgt 1 }

portEntry OBJECT-TYPE
        SYNTAX      PortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in the table, containing information
                     about configuration in one switch port of the switch."
        INDEX       { portIndex }
        ::= { portTable 1 }

PortEntry ::= SEQUENCE
{
    portIndex                Integer32,
    portName                 DisplayString,
    portType                 INTEGER,
    portSpeedDpxCfg          INTEGER,
    portFlowCtrlCfg          INTEGER,
    portCapabilities         BITS,
    portAutonegotiation      INTEGER,
    portSpeedDpxStatus       INTEGER,
    portFlowCtrlStatus       INTEGER,
    portTrunkIndex           Integer32
}

portIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is defined as ifIndex in the IF-MIB."
        ::= { portEntry 1 }

portName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..64))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates the port name. This is same as 
                     ifAlias in the IF-MIB (RFC2863 or later)."
        ::= { portEntry 2 }

portType OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        other(1),
                        hundredBaseTX(2),
                        hundredBaseFX(3),
                        thousandBaseSX(4),
                        thousandBaseLX(5),
                        thousandBaseT(6),
                        thousandBaseGBIC(7),
                        thousandBaseSfp(8)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates the port type."
        ::= { portEntry 3 }

portSpeedDpxCfg OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        reserved(1),
                        halfDuplex10(2),
                        fullDuplex10(3),
                        halfDuplex100(4),
                        fullDuplex100(5),
                        halfDuplex1000(6),
                        fullDuplex1000(7)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Set the port speed and duplex mode as follows:
                         halfDuplex10(2)    - 10Mbps and half duplex mode
                         fullDuplex10(3)    - 10Mbps and full duplex mode
                         halfDuplex100(4)   - 100Mbps and half duplex mode
                         fullDuplex100(5)   - 100Mbps and full duplex mode
                         halfDuplex1000(6)  - 1000Mbps and half duplex mode
                         fullDuplex1000(7)  - 1000Mbps and full duplex mode
                     hundredBaseTX port can be set as
                         halfDuplex10(2)
                         fullDuplex10(3)
                         halfDuplex100(4)
                         fullDuplex100(5)
                     hundredBaseFX port can be set as
                         halfDuplex100(4)
                         fullDuplex100(5)
                     thousandBaseSX port can be set as
                         halfDuplex1000(6)
                         fullDuplex1000(7)
                     The actual operating speed and duplex of the port
                     is given by portSpeedDpxStatus."
        DEFVAL      { halfDuplex10 }
        ::= { portEntry 4 }

portFlowCtrlCfg OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        enabled(1),
                        disabled(2),
                        backPressure(3),
                        dot3xFlowControl(4)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "(1) Flow control mechanism is enabled.
                         If the port type is hundredBaseTX or thousandBaseSX:
                         When the port is operating in halfDuplex mode, the
                         port uses backPressure flow control mechanism. When
                         the port is operating in fullDuplex mode, the port
                         uses IEEE 802.3x flow control mechanism.
                         If the port type is hundredBaseFX:
                         When the port is operating in halfDuplex mode, the
                         port uses backPressure flow control mechanism. When
                         the port is operating in fullDuplex mode, Flow
                         control mechanism will not function.
                     (2) Flow control mechanism is disabled.
                     (3) Flow control mechanism is backPressure.
                         when the port is in fullDuplex mode.This flow control
                         mechanism will not function.
                     (4) Flow control mechanism is IEEE 802.3x flow control.
                         when the port is in halfDuplex mode.This flow control
                         mechanism will not function.
                     hundredBaseTX and thousandBaseSX port can be set as:
                         enabled(1),
                         disabled(2),
                         backPressure(3),
                         dot3xFlowControl(4).
                     hundredBaseFX port can be set as:
                         enabled(1),
                         disabled(2),
                         backPressure(3).
                     The actual flow control mechanism is used given by
                     portFlowCtrlStatus."
        DEFVAL      { enabled }
        ::= { portEntry 5 }

portCapabilities OBJECT-TYPE
        SYNTAX      BITS
                    {
                        portCap10half(0),
                        portCap10full(1),
                        portCap100half(2),
                        portCap100full(3),
                        portCap1000half(4),
                        portCap1000full(5),
                        reserved6(6),
                        reserved7(7),
                        reserved8(8),
                        reserved9(9),
                        reserved10(10),
                        reserved11(11),
                        reserved12(12),
                        reserved13(13),
                        portCapSym(14),
                        portCapFlowCtrl(15)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Port capabilities."
        ::= { portEntry 6 }

portAutonegotiation OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        enabled(1),
                        disabled(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Whether autonegotiation is enabled."
        ::= { portEntry 7 }
                        
portSpeedDpxStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        error(1),
                        halfDuplex10(2),
                        fullDuplex10(3),
                        halfDuplex100(4),
                        fullDuplex100(5),
                        halfDuplex1000(6),
                        fullDuplex1000(7)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The operating speed and duplex mode of the
                     switched port. If this index is a trunk,
                     the speed is the speed of its individual members.
                     If this index is a trunk and the result
                     is inconsistent among its member ports, this value is
                     error(1)."
        ::= { portEntry 8 }

portFlowCtrlStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        error(1),
                        backPressure(2),
                        dot3xFlowControl(3),
                        none(4)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "(2) BackPressure flow control machanism is used.
                     (3) IEEE 802.3 flow control machanism is used.
                     (4) Flow control mechanism is disabled.
                     If this index is a trunk and the result
                     is inconsistent among its member ports, this value is
                     error(1)."
        ::= { portEntry 9 }

portTrunkIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The trunk to which this port belongs. A value of 0
                    means that this port does not belong to any trunk.
                    A value greater than zero means that this port
                    belongs to trunk at trunkIndex, defined by the
                    corresponding trunkPorts."
        ::= { portEntry 10 }

--
-- trunkMgt
--

trunkMaxId OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number for a trunk identifier."
    ::= { trunkMgt 1 }

trunkValidNumber OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of valid trunks."
    ::= { trunkMgt 2 }

trunkTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TrunkEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table of descriptive and status information about
                     configuration of each trunk,
                     similar to Cisco EtherChannel."
        ::= { trunkMgt 3 }

trunkEntry OBJECT-TYPE
        SYNTAX      TrunkEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in the table, containing information
                     about configuration in one trunk of the switch."
        INDEX       { trunkIndex }
        ::= { trunkTable 1 }

TrunkEntry ::= SEQUENCE
{
    trunkIndex                Integer32,
    trunkPorts                PortList,
    trunkCreation             INTEGER,
    trunkStatus               INTEGER
}

trunkIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This object identifies the trunk within the switch
                     for which this entry contains information."
        ::= { trunkEntry 1 }

trunkPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The complete set of ports currently associated with
        this trunk."

    ::= { trunkEntry 2 }

trunkCreation OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    static(1),
                    lacp(2)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A value of static(1) means a statically configured trunk.
         A value of lacp(2) means an LACP-configured trunk."
    ::= { trunkEntry 3 }

trunkStatus OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    valid(1),
                    invalid(2)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Writing this to valid(1) creates an entry.
         Writing this to invalid(2) destroys an entry."
    ::= { trunkEntry 4 }

---
--- lacpMgt
---

lacpPortTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF LacpPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table for LACP port configuration."
        ::= { lacpMgt 1 }

lacpPortEntry OBJECT-TYPE
        SYNTAX      LacpPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Entry for LACP port configuration."
        INDEX       { lacpPortIndex }
        ::= { lacpPortTable 1 }

LacpPortEntry ::= SEQUENCE
{
    lacpPortIndex            Integer32,
    lacpPortStatus           INTEGER
}

lacpPortIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is defined as ifIndex in the IF-MIB."
        ::= { lacpPortEntry 1 }

lacpPortStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        enabled(1),
                        disabled(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Whether 802.3ad LACP is enabled."
        ::= { lacpPortEntry 2 }

--
-- staMgt
--

-- Management for Spanning Tree Algorithm (STA).
-- This has variables not already defined in the implemented
-- standard MIB(s).
      
staSystemStatus OBJECT-TYPE
        SYNTAX      EnabledStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Global spanning tree status.
                     (1) Spanning tree protocol is enabled.
                     (2) Spanning tree protocol is disabled."
        DEFVAL      { enabled }
        ::= { staMgt 1 }
    
staPortTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF StaPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The table manages port settings for Spanning Tree 
                     Protocol 802.1d, 802.1w or 802.1s depending on the 
                     value specified by staProtocolType."
        ::= { staMgt 2 }

staPortEntry OBJECT-TYPE
        SYNTAX      StaPortEntry
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The conceptual entry of staPortTable."
        INDEX       { staPortIndex }
        ::= { staPortTable 1 }

StaPortEntry ::= SEQUENCE
{
	staPortIndex			  Integer32,
    staPortFastForward        EnabledStatus,
    staPortProtocolMigration  TruthValue,
    staPortAdminEdgePort      TruthValue,
    staPortOperEdgePort       TruthValue,
    staPortAdminPointToPoint  INTEGER,
    staPortOperPointToPoint   TruthValue,
    staPortLongPathCost       Integer32
}

staPortIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The port and the trunk (excluding trunk member ports) 
                     interface of the staPortTable. The interface identified
                     by a particular value of this index is the same interface 
                     as identified by the same value of dot1dStpPort in the
                     BRIDGE-MIB."
        ::= { staPortEntry 1 }

staPortFastForward OBJECT-TYPE
        SYNTAX      EnabledStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Whether fast forwarding is enabled."
        ::= { staPortEntry 2 }

staPortProtocolMigration OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When operating in RSTP (version 2) mode, writing TRUE(1)
         to this object forces this port to transmit RSTP BPDUs.
         Any other operation on this object has no effect and
         it always returns FALSE(2) when read."
    REFERENCE
        "IEEE 802.1w clause 14.8.2.4, 17.18.10, 17.26"
    ::= { staPortEntry 3 }

staPortAdminEdgePort OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative value of the Edge Port parameter.  A
         value of TRUE(1) indicates that this port should be
         assumed as an edge-port and a value of FALSE(2) indicates
         that this port should be assumed as a non-edge-port."
    REFERENCE
        "IEEE 802.1t clause 14.8.2, 18.3.3"
    ::= { staPortEntry 4 }

staPortOperEdgePort OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational value of the Edge Port parameter.  The object is
         initialized to the value of staPortAdminEdgePort and is set FALSE
         when a BPDU is received."
    REFERENCE
        "IEEE 802.1t clause 14.8.2, 18.3.4"
    ::= { staPortEntry 5 }

staPortAdminPointToPoint OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    forceTrue(0),
                    forceFalse(1),
                    auto(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
     DESCRIPTION
        "The administrative point-to-point status of the LAN segment
         attached to this port.  A value of forceTrue(0) indicates that
         this port should always be treated as if it is connected to
         a point-to-point link.  A value of forceFalse(1) indicates
         that this port should be treated as having a shared media
         connection.  A value of auto(2) indicates that this port is
         considered to have a point-to-point link if it is an Aggregator
         and all of its members are aggregatable, or if the MAC entity
         is configured for full duplex operation, either through
         auto-negotiation or by management means."
   REFERENCE
       "IEEE 802.1w clause 6.4.3, 6.5, 14.8.2"
   ::= { staPortEntry 6 }

staPortOperPointToPoint OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational point-to-point status of the LAN segment
         attached to this port.  It indicates whether a port is
         considered to have a point-to-point connection or not.
         The value is determined by management or by auto-detection,
         as described in the staPortAdminPointToPoint object."
    REFERENCE
        "IEEE 802.1w clause 6.4.3, 6.5, 14.8.2"
    ::= { staPortEntry 7 }

staPortLongPathCost OBJECT-TYPE
    SYNTAX      Integer32(1..200000000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
          "The contribution of this port to the path cost (in 32
          bits value) of paths towards the spanning tree root which
          include this port.

          This object is used to configure the spanning tree port
          path cost in 32 bits value range when the
          staPathCostMethod is long(2).

          If the staPathCostMethod is short(1), this mib object is not 
          instantiated."
    ::= { staPortEntry 8 }

staProtocolType OBJECT-TYPE
    SYNTAX      INTEGER {
                    stp(1),
                    rstp(2),
                    mstp(3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The version of Spanning Tree Protocol the bridge is currently
                 running.  The value 'stp(1)' indicates the Spanning Tree 
                 Protocol is as specified in IEEE 802.1D,'rstp(2)' indicates 
                 the Rapid Spanning Tree Protocol is as specified in IEEE 
                 802.1w and the value 'mstp(3)' indicates the Multiple Spanning
                 Tree Protocol is as specified in IEEE 802.1s. New values may
                 be defined in the future as new or updated versions of the 
                 protocol become available."
    REFERENCE
        "IEEE 802.1w clause 14.8.1, 17.12, 17.16.1"
    ::= { staMgt 3 }


staTxHoldCount OBJECT-TYPE
    SYNTAX      Integer32 (1..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value used by the Port Transmit state machine to limit
         the maximum transmission rate."
    REFERENCE
        "IEEE 802.1w clause 17.16.6"
    DEFVAL      { 3 }
    ::= { staMgt 4 }

staPathCostMethod    OBJECT-TYPE
    SYNTAX       INTEGER {
                          short(1), -- 16 bits spanning tree path
                                    -- cost mode
                          long(2)   -- 32 bits spanning tree path
                                    -- cost mode
                         }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION "Indicates the type of spanning tree path cost mode configured
                 on the switch. This mode applies to all instances of the 
                 Spanning tree protocol running on the switch.

                 When the value of this MIB object is changed, the path cost of
                 all ports will be reassigned to the default path cost values 
                 based on the new spanning tree path cost mode and the 
                 ports' speed.

                 When the value of this MIB object is set to long(2), the 
                 staPortLongPathCost MIB object must be used to retrieve/configure 
                 the spanning tree port path cost as a 32 bit value. The set 
                 operation on dot1dStpPortPathCost in BRIDGE-MIB will be rejected. 
                 While retrieving the value of dot1dStpPortPathCost, the maximum 
                 value of 65535 will be returned if the value of staPortLongPathCost 
                 for the same instance exceeds 65535.

                 When the value of this MIB object is set to short(1), the 
                 dot1dStpPortPathCost in BRIDGE-MIB must be used."
   DEFVAL  { short }
   ::= { staMgt 5} 

--
-- xstMgt
--

xstMgt OBJECT IDENTIFIER ::= { staMgt 6}
    
xstInstanceCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XstInstanceCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table is used to configure the property of a specific 
                 instance in Multiple Spanning Tree or Rapid Spanning Tree.
                 If Rapid Spanning Tree protocol is in use, the
                 mstInstanceEditIndex is always 0."
    ::= { xstMgt 4 }

xstInstanceCfgEntry OBJECT-TYPE
    SYNTAX      XstInstanceCfgEntry
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "A conceptual row containing the property of the MST or RST instance."
    INDEX       { xstInstanceCfgIndex }
    ::= { xstInstanceCfgTable 1 }

XstInstanceCfgEntry ::= SEQUENCE
{
      xstInstanceCfgIndex                    Integer32,
      xstInstanceCfgPriority                 Integer32,
      xstInstanceCfgTimeSinceTopologyChange  Integer32,
      xstInstanceCfgTopChanges               Integer32,
      xstInstanceCfgDesignatedRoot           BridgeId,
      xstInstanceCfgRootCost                 Integer32,
      xstInstanceCfgRootPort                 Integer32,
      xstInstanceCfgMaxAge                   Timeout,
      xstInstanceCfgHelloTime                Timeout,
      xstInstanceCfgHoldTime                 Timeout,
      xstInstanceCfgForwardDelay             Timeout,
      xstInstanceCfgBridgeMaxAge             Timeout,
      xstInstanceCfgBridgeHelloTime          Timeout,
      xstInstanceCfgBridgeForwardDelay       Timeout,
      xstInstanceCfgTxHoldCount              Integer32,
      xstInstanceCfgPathCostMethod           INTEGER
}
  
xstInstanceCfgIndex OBJECT-TYPE
      SYNTAX      Integer32 (1..64)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "An arbitrary integer within the range from 1 to the value of
          the maximum instance that uniquely identifies a spanning
          tree instance."
      ::= {xstInstanceCfgEntry 1 }
      
xstInstanceCfgPriority OBJECT-TYPE
     SYNTAX      Integer32 (0..61440)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The priority of a specific spanning tree instance.
     		 The value assigned should be in the range 0-61440
     	 	 in steps of 4096."
     ::= { xstInstanceCfgEntry 2 }


xstInstanceCfgTimeSinceTopologyChange OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The time (in hundredths of second) since the last topology 
                 change detected by the bridge entity in MST or RST."
     ::= { xstInstanceCfgEntry 3 }

xstInstanceCfgTopChanges OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The total number of topology changes detected by
                 this bridge in MST or RST since the management entity
                 was last reset or initialized."
     ::= { xstInstanceCfgEntry 4 }


xstInstanceCfgDesignatedRoot OBJECT-TYPE
     SYNTAX      BridgeId
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The bridge identifier of the root of the spanning
                 tree as determined by the Multiple Spanning Tree Protocol (1s)
                 or Rapid Spanning Tree Protocol (1w) executed by this node.  
                 This value is used as the Root Identifier parameter in 
                 all Configuration Bridge PDUs originated by this node."
     ::= { xstInstanceCfgEntry 5 }

xstInstanceCfgRootCost OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The cost of the path to the root as seen from
                 this bridge of the MST or RST."
     ::= { xstInstanceCfgEntry 6 }


xstInstanceCfgRootPort OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The number of the port which offers the
                 lowest cost path from this bridge to the root
                 bridge of the MST or RST."
     ::= { xstInstanceCfgEntry 7 }

xstInstanceCfgMaxAge OBJECT-TYPE
     SYNTAX      Timeout
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The maximum age of Multiple Spanning Tree Protocol (1s)
                 or Rapid Spanning Tree Protocol (1w) information learned 
                 from the network on any port before it is discarded, 
                 in units of hundredths of a second.  This is the actual
                 value that this bridge is currently using."
     ::= { xstInstanceCfgEntry 8 }


xstInstanceCfgHelloTime OBJECT-TYPE
     SYNTAX      Timeout
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION  "The amount of time between the transmission of
                  Configuration bridge PDUs by this node on any port
                  when it is the root of the specific spanning tree or trying
                  to become so, in units of hundredths of a second.
                  This is the actual value that this bridge is
                  currently using in MST or RST."
     ::= { xstInstanceCfgEntry 9 }

xstInstanceCfgHoldTime OBJECT-TYPE
     SYNTAX      Timeout
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION  "This time value determines the interval length
                  during which no more than two Configuration bridge
                  PDUs shall be transmitted by this node, in units
                  of hundredths of a second."
     ::= { xstInstanceCfgEntry 10 }

xstInstanceCfgForwardDelay OBJECT-TYPE
     SYNTAX      Timeout
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION  "For MST or RST protocol, this time value, measured in units of 
                  hundredths of a second, controls how fast a port changes 
                  its spanning state when moving towards the Forwarding
                  state.  The value determines how long the port
                  stays in each of the Listening and Learning
                  states, which precede the Forwarding state.  This
                  value is also used, when a topology change has
                  been detected and is underway, to age all dynamic
                  entries in the Forwarding Database. This value is the
                  current value being used by the bridge. 
                  xstInstanceCfgBridgeForwardDelay defines the value that
                  this bridge and all others would start using
                  if/when this bridge were to become the root."
     ::= { xstInstanceCfgEntry 11 }

xstInstanceCfgBridgeMaxAge OBJECT-TYPE
     SYNTAX      Timeout
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION   "For MST or RST protocol, the time (in hundredths of second)
                   that all bridges use for MaxAge when this bridge is acting 
                   as the root.  Note that 802.1D-1990 specifies that the range 
                   for this parameter is related to the value of
                   xstInstanceCfgBridgeHelloTime. The granularity of this
                   timer is specified by 802.1D-1990 to be 1 second."
     ::= { xstInstanceCfgEntry 12 }
     
xstInstanceCfgBridgeHelloTime OBJECT-TYPE
     SYNTAX      Timeout
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION   "For MST or RST protocol,the time (in hundredths of second) that 
                   all bridges use for HelloTime when this bridge is acting 
                   as the root.  The granularity of this timer is specified
                   by 802.1D-1990 to be 1 second."
     ::= { xstInstanceCfgEntry 13 }
     

xstInstanceCfgBridgeForwardDelay OBJECT-TYPE
     SYNTAX      Timeout
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION  "For MST or RST protocol, the time (in hundredths of second)
                  that all bridges use for ForwardDelay when this bridge 
                  is acting as the root. 
                  Note that 802.1D-1990 specifies that the range for this
                  parameter is related to the value of
                  xstInstanceCfgBridgeMaxAge. The granularity of this
                  timer is specified by 802.1D-1990 to be 1 second."
     ::= { xstInstanceCfgEntry 14 }
     
xstInstanceCfgTxHoldCount OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION  "For MST or RST protocol, the value used by the Port Transmit 
                  state machine to limit the maximum transmission rate."
     ::= { xstInstanceCfgEntry 15 }

xstInstanceCfgPathCostMethod OBJECT-TYPE
     SYNTAX      INTEGER 
                      {
                        short(1), -- 16 bits spanning tree path cost mode
                        long(2)   -- 32 bits spanning tree path cost mode
                       }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION   
       "For MST or RST protocol, this indicates the type of spanning tree path
       cost mode used by the switch. The mode applies to all instances of the
       Spanning Tree protocol running on the switch.

       When the value of this MIB object is changed, the path cost
       of all ports will be reassigned to the default path cost
       values based on the new spanning tree path cost mode and the
       ports' speed.

       When the value of this MIB object is set to long(2),
       the xstInstancePortPathCost MIB object must be used in order
       to retrieve/configure the spanning tree port path cost as a
       32 bit value. The set operation on dot1dStpPortPathCost in
       BRIDGE-MIB will be rejected. While retrieving the value of
       dot1dStpPortPathCost, the maximum value of 65535 will be
       returned if the value of xstInstancePortPathCost for the same
       instance exceeds 65535.

       When the value of this MIB object is set to short(1),
       the dot1dStpPortPathCost in BRIDGE-MIB must be used."
     ::= { xstInstanceCfgEntry 16 }
     
xstInstancePortTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF XstInstancePortEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "The extension table for dot1dStpPortEntry to provide 
                 additional Spanning Tree information and configuration."
     ::= { xstMgt 5 }

xstInstancePortEntry OBJECT-TYPE
     SYNTAX      XstInstancePortEntry
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The conceptual row for xstInstancePortTable."
     INDEX       { xstInstancePortInstance, xstInstancePortPort }
     ::= { xstInstancePortTable 1 }
     
XstInstancePortEntry ::= SEQUENCE
{
  xstInstancePortInstance           Integer32,
  xstInstancePortPort               Integer32,
  xstInstancePortPriority           Integer32,
  xstInstancePortState              INTEGER,
  xstInstancePortEnable             EnabledStatus,
  xstInstancePortPathCost           Integer32,
  xstInstancePortDesignatedRoot     BridgeId,
  xstInstancePortDesignatedCost     Integer32,
  xstInstancePortDesignatedBridge   BridgeId,
  xstInstancePortDesignatedPort     OCTET STRING,
  xstInstancePortForwardTransitions Counter32,
  xstInstancePortPortRole           INTEGER
}

xstInstancePortInstance OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The instance of the MSTP."
     ::= { xstInstancePortEntry 1 }

xstInstancePortPort OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The port and the trunk (excluding trunk member ports) 
                  interface of the mstInstancePortTable. The interface identified
                  by a particular value of this index is the same interface 
                  as identified by the same value of dot1dStpPort in the BRIDGE-MIB."
     ::= { xstInstancePortEntry 2 }  
        
xstInstancePortPriority OBJECT-TYPE
     SYNTAX      Integer32(0..240)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Defines the priority used for this port in the Spanning
                 Tree Algorithm. If the path cost for all ports on a 
                 switch is the same, the port with the highest priority
                 (i.e., lowest value) will be configured as an active link
                 in the Spanning Tree. This makes a port with higher 
                 priority less likely to be blocked if the Spanning Tree
                 Algorithm is detecting network loops. Where more than one
                 port is assigned the highest priority, the port with
                 lowest numeric identifier will be enabled."
     ::= { xstInstancePortEntry 3 }

xstInstancePortState OBJECT-TYPE
     SYNTAX      INTEGER {
                          discarding(1),
                          learning(2),
                          forwarding(3)
                         }
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION  "The port's current state as defined by application of
                  the Spanning Tree Protocol.  This state controls what
                  action a port takes on reception of a frame:
                  discarding(1)  Port receives configuration messages,
                                 but does not forward packets.
                  learning(2)    Port has transmitted configuration messages 
		                 for an interval set by the Forward Delay
		                 parameter without receiving contradictory
		                 information.  Port address table is cleared,
		                 and the port begins learning addresses.
                  forwarding(3)  Port forwards packets, and continues learning
		                 addresses.
                                   
                  For ports which are disabled (see xstInstancePortEnable),
                  this object will have a value of discarding(1)."
              ::= { xstInstancePortEntry 4}

xstInstancePortEnable OBJECT-TYPE
     SYNTAX     EnabledStatus 
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION    "The enabled/disabled status of the port."
     ::= { xstInstancePortEntry 5 }

xstInstancePortPathCost OBJECT-TYPE
     SYNTAX      Integer32(1..200000000)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The pathcost of the MST or RST in the range 1 to 200000000.
  		 This parameter is used to determine the best path between
  		 devices. Therefore, lower values should be assigned to 
  		 ports attached to faster media, and higher values assigned
  		 to ports with slower media. (Path cost takes precedence 
  		 over port priority)."
     ::= { xstInstancePortEntry 6 }

xstInstancePortDesignatedRoot OBJECT-TYPE
     SYNTAX      BridgeId
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
                 "The unique Bridge Identifier of the Bridge
                 recorded as the Root in the Configuration BPDUs
                 transmitted by the Designated Bridge for the
                 segment to which the port is attached."
     ::= { xstInstancePortEntry 7 }

xstInstancePortDesignatedCost OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
                 "The path cost of the Designated Port of the
                  segment connected to this port.  This value is
                  compared to the Root Path Cost field in received
                  bridge PDUs."
     ::= { xstInstancePortEntry 8 }

xstInstancePortDesignatedBridge OBJECT-TYPE
     SYNTAX      BridgeId
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
                 "The Bridge Identifier of the bridge which this
                 port considers to be the Designated Bridge for
                 this port's segment."
     ::= { xstInstancePortEntry 9 }

xstInstancePortDesignatedPort OBJECT-TYPE
     SYNTAX      OCTET STRING (SIZE (2))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
            "The Port Identifier of the port on the Designated
            Bridge for this port's segment."
     ::= { xstInstancePortEntry 10 }

xstInstancePortForwardTransitions OBJECT-TYPE
     SYNTAX  Counter32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
             "The number of times this port has transitioned
             from the Learning state to the Forwarding state."
     ::= { xstInstancePortEntry 11 }

xstInstancePortPortRole OBJECT-TYPE
     SYNTAX  INTEGER
             {
               disabled(1),
               root(2),
               designated(3),
               alternate(4),
               backup(5),
               master(6)
             }
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION "The role of the port in the MST or RST protocol:
                  (1) The port has no role within the spanning tree
                  (2) The port is part of the active topology connecting
                      the bridge to the root bridge (i.e., root port)
                  (3) The port is connecting a LAN through the bridge to the
                      root bridge (i.e., designated port)
                  (4) The port may provide connectivity if other
                      bridges, bridge ports, or LANs fail or are removed.
                  (5) The port provides backup if other
                      bridges, bridge ports, or LANs fail or are removed.
                  (6) For MST protocol only, indicated whether this instance
                      is in a master role."
                      
     ::= { xstInstancePortEntry 12 }

--
-- tftpMgt
--

tftpFileType  OBJECT-TYPE
    SYNTAX     INTEGER {
                  opcode(1),
                  config(2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Type of file to transfer."
    ::= { tftpMgt 1 }

tftpSrcFile  OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..127))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The source file name for TFTP transfer when a
        transfer is next requested via this MIB.  This value is set to
        the zero length string when no file name has been specified."
    ::= { tftpMgt 2 }

tftpDestFile  OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..127))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The destination file name for TFTP transfer when a
        transfer is next requested via this MIB.  This value is set to
        the zero length string when no file name has been specified."
    ::= { tftpMgt 3 }

tftpServer  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The IP address of the TFTP server for transfer
        when a download is next requested via this MIB.
        This value is set to `0.0.0.0' when no IP address has been
        specified."
    ::= { tftpMgt 4 }

tftpAction  OBJECT-TYPE
    SYNTAX     INTEGER {
                  notDownloading(1),
                  downloadToPROM(2),
                  downloadToRAM(3),
                  upload(4)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "When this object is set to downloadToRAM(2) or
        downloadToPROM(3), the device will discontinue its
        normal operation and begin download of the file specified
        by tftpSrcFile from the server specified by
        tftpServer to tftpDestFile in the device
        using the TFTP protocol.  If
        downloadToRAM(2) is specified, the new image is copied
        to RAM only (the old image remains unaltered in the flash
        EPROM).  If downloadToPROM(3) is specified
        the new image is written to the flash EPROM
        memory after its checksum has been verified to be correct.
        When the download process is completed, the device will
        warm boot to restart the newly loaded application.
        When the device is not downloading, this object will have
        a value of notDownloading(1).
        downloadToRAM(2) applies only to configuration download.
        Otherwise 'invalid value' is replied.
        When this object is set to upload(4), the device will begin
        upload of the file specified by tftpScrFile in the device
        to tftpDestFile in the server specified by tftpServer."
    ::= { tftpMgt 5 }

tftpStatus  OBJECT-TYPE
    SYNTAX     INTEGER {
                    tftpSuccess(1),
                    tftpStatusUnknown(2),
                    tftpGeneralError(3),
                    tftpNoResponseFromServer(4),
                    tftpDownloadChecksumError(5),--download only
                    tftpDownloadIncompatibleImage(6),--download only
                    tftpTftpFileNotFound(7),
                    tftpTftpAccessViolation(8)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The status of the last transfer procedure, if any.  This
        object will have a value of downloadStatusUnknown(2) if no
        transfer process has been performed."
    ::= { tftpMgt 6 }


--
-- restartMgt
--

restartOpCodeFile OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..127))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Name of op-code file for start-up."
        ::= { restartMgt 1 }

restartConfigFile OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..127))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Name of configuration file for start-up."
        ::= { restartMgt 2 }

restartControl  OBJECT-TYPE
    SYNTAX     INTEGER {
                    running(1),
                    warmBoot(2),
                    coldBoot(3)
              }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Setting this object to warmBoot(2) causes the device to
        restart the application software with current configuration
        parameters saved in non-volatile memory.  Setting this
        object to coldBoot(3) causes the device to reinitialize
        configuration parameters in non-volatile memory to default
        values and restart the application software.  When the device
        is running normally, this variable has a value of
        running(1)."
    ::= { restartMgt 3 }

--
-- mirrorMgt
--

mirrorTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF MirrorEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table of descriptive and status information about
                     switches in this system."
        ::= { mirrorMgt 1 }

mirrorEntry OBJECT-TYPE
        SYNTAX      MirrorEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in the table, containing information
                     about a single switch in this system. "
        INDEX       { mirrorDestinationPort, mirrorSourcePort }
        ::= { mirrorTable 1 }

MirrorEntry ::= SEQUENCE
{
    mirrorDestinationPort  Integer32,
    mirrorSourcePort       Integer32,
    mirrorType             INTEGER,
    mirrorStatus           INTEGER
}

mirrorDestinationPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Destination port for mirrored packets. This is defined
                    as ifIndex in the IF-MIB."
        ::= { mirrorEntry 1 }

mirrorSourcePort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Source port for mirrored packets. This is defined as
                    ifIndex in the IF-MIB."
        ::= { mirrorEntry 2 }

mirrorType OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        rx(1),
                        tx(2),
                        both(3)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "If this value is rx(1), receive packets will
                    be mirrored. If this value is tx(2), transmit
                    packets will be mirrored. If this value is both(3),
                    both receive and transmit packets."
        ::= { mirrorEntry 3 }

mirrorStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        valid(1),
                        invalid(2)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Writing this to valid(1) creates an entry.
                     Writing this to invalid(2) destroys an entry."
        ::= { mirrorEntry 4 }

--
-- igmpSnoopMgt
--

igmpSnoopStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        enabled(1),
                        disabled(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Parameter to enable or disable IGMP snooping on the device.
                     When enabled, the device will examine IGMP packets and set
                     up filters for IGMP ports. "
        DEFVAL      { enabled }
        ::= { igmpSnoopMgt 1 }

igmpSnoopQuerier OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        enabled(1),
                        disabled(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Whether to act as querier."
        DEFVAL      { enabled }
        ::= { igmpSnoopMgt 2 }

igmpSnoopQueryCount OBJECT-TYPE
        SYNTAX      INTEGER (2..10)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Maximum number of queries that have not been heard on the
                     system before the system starts taking action to solicit
                     reports."
        DEFVAL      { 2 }
        ::= { igmpSnoopMgt 3 }


igmpSnoopQueryInterval OBJECT-TYPE
        SYNTAX      INTEGER (60..125)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Query interval."
        DEFVAL      { 125 }
        ::= { igmpSnoopMgt 4 }

igmpSnoopQueryMaxResponseTime OBJECT-TYPE
        SYNTAX      INTEGER (5..30)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Timeout value (seconds) between IGMP reports received on a port
                     for an IP Multicast Address that can pass before the system
                     sends an IGMP Query out the port and removes it from the
                     list."
        DEFVAL      { 10 }
        ::= { igmpSnoopMgt 5 }

igmpSnoopQueryTimeout OBJECT-TYPE
        SYNTAX      INTEGER (300..500)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Query time-out."
        DEFVAL      { 300 }
        ::= { igmpSnoopMgt 6 }

igmpSnoopVersion OBJECT-TYPE
        SYNTAX      INTEGER (1..2)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Version."
        DEFVAL      { 2 }
        ::= { igmpSnoopMgt 7 }

igmpSnoopRouterCurrentTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IgmpSnoopRouterCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table for current router ports."
    ::= { igmpSnoopMgt 8 }

igmpSnoopRouterCurrentEntry OBJECT-TYPE
    SYNTAX      IgmpSnoopRouterCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entry for current router ports."
    INDEX   { igmpSnoopRouterCurrentVlanIndex }
    ::= { 
igmpSnoopRouterCurrentTable 1 }

IgmpSnoopRouterCurrentEntry ::=
    SEQUENCE {
        igmpSnoopRouterCurrentVlanIndex
            Unsigned32,
        igmpSnoopRouterCurrentPorts
            PortList,
        igmpSnoopRouterCurrentStatus
            PortList
    }

igmpSnoopRouterCurrentVlanIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is defined as dot1qVlanIndex in the Q-BRIDGE-MIB."
    ::= { igmpSnoopRouterCurrentEntry 1 }

igmpSnoopRouterCurrentPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The set of ports which are current router ports.
         Within this list, some router ports are static router ports.
         Please refer to igmpSnoopRouterStaticTable."
    ::= { igmpSnoopRouterCurrentEntry 2 }

igmpSnoopRouterCurrentStatus OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The set of ports which are static router ports."
    ::= { igmpSnoopRouterCurrentEntry 3 }

igmpSnoopRouterStaticTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IgmpSnoopRouterStaticEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table for static router ports."
    ::= { igmpSnoopMgt 9 }

igmpSnoopRouterStaticEntry OBJECT-TYPE
    SYNTAX      IgmpSnoopRouterStaticEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entry for static router ports."
    INDEX   { igmpSnoopRouterStaticVlanIndex }
    ::= { 
igmpSnoopRouterStaticTable 1 }

IgmpSnoopRouterStaticEntry ::=
    SEQUENCE {
        igmpSnoopRouterStaticVlanIndex
            Unsigned32,
        igmpSnoopRouterStaticPorts
            PortList,
        igmpSnoopRouterStaticStatus
            INTEGER
    }

igmpSnoopRouterStaticVlanIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is defined as dot1qVlanIndex in the Q-BRIDGE-MIB."
    ::= { igmpSnoopRouterStaticEntry 1 }

igmpSnoopRouterStaticPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The set of ports which are static router ports."
    ::= { igmpSnoopRouterStaticEntry 2 }

igmpSnoopRouterStaticStatus OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    valid(1),
                    invalid(2)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Writing this to valid(1) creates an entry.
         Writing this to invalid(2) destroys an entry."
    ::= { igmpSnoopRouterStaticEntry 3 }

igmpSnoopMulticastCurrentTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IgmpSnoopMulticastCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table for current multicast addresses."
    ::= { igmpSnoopMgt 10 }

igmpSnoopMulticastCurrentEntry OBJECT-TYPE
    SYNTAX      IgmpSnoopMulticastCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entry for current multicast addresses."
    INDEX   { igmpSnoopMulticastCurrentVlanIndex,
              igmpSnoopMulticastCurrentIpAddress }
    ::= { 
igmpSnoopMulticastCurrentTable 1 }

IgmpSnoopMulticastCurrentEntry ::=
    SEQUENCE {
        igmpSnoopMulticastCurrentVlanIndex
            Unsigned32,
        igmpSnoopMulticastCurrentIpAddress
            IpAddress,
        igmpSnoopMulticastCurrentPorts
            PortList,
        igmpSnoopMulticastCurrentStatus
            PortList
    }

igmpSnoopMulticastCurrentVlanIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is defined as dot1qVlanIndex in the Q-BRIDGE-MIB."
    ::= { igmpSnoopMulticastCurrentEntry 1 }

igmpSnoopMulticastCurrentIpAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "IP address of multicast group."
    ::= { igmpSnoopMulticastCurrentEntry 2 }

igmpSnoopMulticastCurrentPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The set of ports which are members."
    ::= { igmpSnoopMulticastCurrentEntry 3 }

igmpSnoopMulticastCurrentStatus OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The set of ports which are static members."
    ::= { igmpSnoopMulticastCurrentEntry 4 }

igmpSnoopMulticastStaticTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IgmpSnoopMulticastStaticEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table for static multicast addresses."
    ::= { igmpSnoopMgt 11 }

igmpSnoopMulticastStaticEntry OBJECT-TYPE
    SYNTAX      IgmpSnoopMulticastStaticEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Entry for static multicast addresses."
    INDEX   { igmpSnoopMulticastStaticVlanIndex,
              igmpSnoopMulticastStaticIpAddress }
    ::= { 
igmpSnoopMulticastStaticTable 1 }

IgmpSnoopMulticastStaticEntry ::=
    SEQUENCE {
        igmpSnoopMulticastStaticVlanIndex
            Unsigned32,
        igmpSnoopMulticastStaticIpAddress
            IpAddress,
        igmpSnoopMulticastStaticPorts
            PortList,
        igmpSnoopMulticastStaticStatus
            INTEGER
    }

igmpSnoopMulticastStaticVlanIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is defined as dot1qVlanIndex in the Q-BRIDGE-MIB."
    ::= { igmpSnoopMulticastStaticEntry 1 }

igmpSnoopMulticastStaticIpAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "IP address of multicast group."
    ::= { igmpSnoopMulticastStaticEntry 2 }

igmpSnoopMulticastStaticPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The set of ports which are members."
    ::= { igmpSnoopMulticastStaticEntry 3 }

igmpSnoopMulticastStaticStatus OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    valid(1),
                    invalid(2)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Writing this to valid(1) creates an entry.
         Writing this to invalid(2) destroys an entry."
    ::= { igmpSnoopMulticastStaticEntry 4 }

--
-- The Probe Configuration Group
--
-- This group controls the configuration of various operating
-- parameters of the probe.

netConfigTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF NetConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A table of netConfigEntries."
    ::= { ipMgt 1 }

netConfigEntry  OBJECT-TYPE
    SYNTAX     NetConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A set of configuration parameters for a particular
        network interface on this device. If the device has no network
        interface, this table is empty.

        The index is composed of the ifIndex assigned to the
        corresponding interface."
    INDEX  { netConfigIfIndex, netConfigIPAddress, netConfigSubnetMask }
    ::= { netConfigTable 1 }

NetConfigEntry ::= SEQUENCE {
    netConfigIfIndex           Integer32,
    netConfigIPAddress         IpAddress,
    netConfigSubnetMask        IpAddress,
    netConfigPrimaryInterface  INTEGER,
    netConfigUnnumbered        INTEGER,
    netConfigStatus            RowStatus
}

netConfigIfIndex  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "VLAN interface on which this entry is defined.
        This is defined as ifIndex in the IF-MIB."
    ::= { netConfigEntry 1 }

netConfigIPAddress  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The IP address of this Net interface.  The default value
        for this object is 0.0.0.0.  If either the netConfigIPAddress
        or netConfigSubnetMask are 0.0.0.0, then when the device
        boots, it may use BOOTP to try to figure out what these
        values should be. If BOOTP fails, before the device
        can talk on the network, this value must be configured
        (e.g., through a terminal attached to the device). If BOOTP is
        used, care should be taken to not send BOOTP broadcasts too
        frequently and to eventually send very infrequently if no
        replies are received."
    ::= { netConfigEntry 2 }

netConfigSubnetMask  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The subnet mask of this Net interface.  The default value
        for this object is 0.0.0.0.  If either the netConfigIPAddress
        or netConfigSubnetMask are 0.0.0.0, then when the device
        boots, it may use BOOTP to try to figure out what these
        values should be. If BOOTP fails, before the device
        can talk on the network, this value must be configured
        (e.g., through a terminal attached to the device). If BOOTP is
        used, care should be taken to not send BOOTP broadcasts too
        frequently and to eventually send very infrequently if no
        replies are received."
    ::= { netConfigEntry 3 }

netConfigPrimaryInterface OBJECT-TYPE
    SYNTAX     INTEGER
               {
                   primary(1),
                   secondary(2)
               }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Whether this is a primary interface."
    ::= { netConfigEntry 4 }

netConfigUnnumbered OBJECT-TYPE
    SYNTAX     INTEGER
               {
                   unnumbered(1),
                   notUnnumbered(2)
               }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Whether this is an unnumbered interface."
    ::= { netConfigEntry 5 }

netConfigStatus  OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of this netConfigEntry.

        An entry may not exist in the active state unless all
        objects in the entry have an appropriate value."
    ::= { netConfigEntry 6 }

netDefaultGateway  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The IP Address of the default gateway.  If this value is
        undefined or unknown, it shall have the value 0.0.0.0."
    ::= { ipMgt 2 }

ipHttpState OBJECT-TYPE
    SYNTAX     INTEGER
               {
                   enabled(1),
                   disabled(2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Whether HTTP is enabled."
    ::= { ipMgt 3 }

ipHttpPort OBJECT-TYPE
   SYNTAX     INTEGER (1..65535)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The port number for HTTP."
    ::= { ipMgt 4 }

ipDhcpRestart OBJECT-TYPE
    SYNTAX     INTEGER
               {
                   restart(1),
                   noRestart(2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Write it to restart(1) to restart DHCP.
        When read, this value always returns noRestart(2)."
    ::= { ipMgt 5 }

ipHttpsState OBJECT-TYPE
    SYNTAX     EnabledStatus
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Whether HTTPS is enabled."
    ::= { ipMgt 6 }

ipHttpsPort OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The port number for HTTPS."
    ::= { ipMgt 7 }

--
-- bcastStormMgt
--

bcastStormTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF BcastStormEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table of descriptive and status information about
                     configuration of each switch ports(including expansion slot)
                     in this system."
        ::= { bcastStormMgt 1 }

bcastStormEntry OBJECT-TYPE
        SYNTAX      BcastStormEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in the table, containing information
                     about configuration in one switch port of the switch."
        INDEX       { bcastStormIfIndex }
        ::= { bcastStormTable 1 }

BcastStormEntry ::= SEQUENCE
{
    bcastStormIfIndex      Integer32,
    bcastStormStatus       INTEGER,
    bcastStormSampleType   INTEGER,
    bcastStormPktRate      INTEGER,
    bcastStormOctetRate    INTEGER,
    bcastStormPercent      INTEGER
}

bcastStormIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is defined as ifIndex in the IF-MIB."
        ::= { bcastStormEntry 1 }

bcastStormStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        enabled(1),
                        disabled(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Whether broadcast storm protection is enabled."
        ::= { bcastStormEntry 2 }

bcastStormSampleType OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        pkt-rate(1),
                        octet-rate(2),
                        percent(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Sample type. If this is pkt-rate(1), then
                     bcastStormPktRate is valid. If this is octet-rate(2),
                     then bcastStormOctetRate is valid. If this is percent(3),
                     then bcastStormPercent is valid."
        ::= { bcastStormEntry 3 }

bcastStormPktRate OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Broadcast storm threshold as packets per second."
        ::= { bcastStormEntry 4 }

bcastStormOctetRate OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Broadcast storm threshold as octets per second."
        ::= { bcastStormEntry 5 }

bcastStormPercent OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Broadcast storm threshold as percentage of bandwidth."
        ::= { bcastStormEntry 6 }

--
-- vlanMgt
--

vlanTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF VlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table for VLAN configuration."
        ::= { vlanMgt 1 }

vlanEntry OBJECT-TYPE
        SYNTAX      VlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Entry for VLAN configuration."
        INDEX       { vlanIndex }
        ::= { vlanTable 1 }

VlanEntry ::= SEQUENCE
{
    vlanIndex               Unsigned32,
    vlanAddressMethod       INTEGER
}

vlanIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Same is dot1qVlanIndex in the Q-BRIDGE-MIB.
            This table has only one entry - the entry for
            the VLAN of the management interface."
        ::= { vlanEntry 1 }

vlanAddressMethod OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        user(1),
                        bootp(2),
                        dhcp(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Method to get the IP address."
        ::= { vlanEntry 2 }

vlanPortTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF VlanPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table for port configuration in VLAN."
        ::= { vlanMgt 2 }

vlanPortEntry OBJECT-TYPE
        SYNTAX      VlanPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Entry for port configuration in VLAN."
        INDEX       { vlanPortIndex }
        ::= { vlanPortTable 1 }

VlanPortEntry ::= SEQUENCE
{
    vlanPortIndex            Integer32,
    vlanPortMode             INTEGER
}

vlanPortIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is defined as ifIndex in the IF-MIB."
        ::= { vlanPortEntry 1 }

vlanPortMode OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        hybrid(1),
                        dot1qTrunk(2),
                        access(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This variable sets the 802.1Q VLAN mode.
                    Setting it to hybrid(1) sets a hybrid link.
                    Setting it to dot1qTrunk(2) sets a trunk link.
                    Setting it to access(3) sets an access link."
        ::= { vlanPortEntry 2 }

--
-- priorityMgt
--

prioIpPrecDscpStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        disabled(1),
                        precedence(2),
                        dscp(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Whether IP precedence or DSCP look-up is enabled."
        ::= { priorityMgt 1 }

prioIpPrecTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PrioIpPrecEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table for IP precedence priority mapping."
        ::= { priorityMgt 2 }

prioIpPrecEntry OBJECT-TYPE
        SYNTAX      PrioIpPrecEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Entry for IP precendence priority mapping."
        INDEX       { prioIpPrecPort, prioIpPrecValue }
        ::= { prioIpPrecTable 1 }

PrioIpPrecEntry ::= SEQUENCE
{
    prioIpPrecPort           Integer32,
    prioIpPrecValue          Integer32,
    prioIpPrecCos            INTEGER
}

prioIpPrecPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is defined as ifIndex in the IF-MIB."
        ::= { prioIpPrecEntry 2 }

prioIpPrecValue OBJECT-TYPE
        SYNTAX      Integer32 (0..7)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Precedence value for this entry."
        ::= { prioIpPrecEntry 3 }

prioIpPrecCos OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Class of service for this entry."
        ::= { prioIpPrecEntry 4 }

prioIpPrecRestoreDefault OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This object is to restore IP Precedence
                    settings of a port to default.
                    To do this, write it to the value of ifIndex
                    defined by the ifIndex in the IF-MIB.
                    When read, this object always returns 0."
        ::= { priorityMgt 3 }

prioIpDscpTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PrioIpDscpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table for IP DSCP priority mapping."
        ::= { priorityMgt 4 }

prioIpDscpEntry OBJECT-TYPE
        SYNTAX      PrioIpDscpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Entry for IP DSCP priority mapping."
        INDEX       { prioIpDscpPort, prioIpDscpValue }
        ::= { prioIpDscpTable 1 }

PrioIpDscpEntry ::= SEQUENCE
{
    prioIpDscpPort           Integer32,
    prioIpDscpValue          Integer32,
    prioIpDscpCos            INTEGER
}

prioIpDscpPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is defined as ifIndex in the IF-MIB."
        ::= { prioIpDscpEntry 1 }

prioIpDscpValue OBJECT-TYPE
        SYNTAX      Integer32 (0..63)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "DSCP value for this entry."
        ::= { prioIpDscpEntry 2 }

prioIpDscpCos OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Class of service for this entry."
        ::= { prioIpDscpEntry 3 }

prioIpDscpRestoreDefault OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This object is to restore IP DSCP
                    settings of a port to default.
                    To do this, write it to the value of ifIndex
                    defined by the ifIndex in the IF-MIB.
                    When read, this object always returns 0."
        ::= { priorityMgt 5 }

prioIpPortEnableStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        enabled(1),
                        disabled(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Whether IP Port priority look-up is enabled."
        ::= { priorityMgt 6 }

prioIpPortTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PrioIpPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table for IP port priority mapping."
        ::= { priorityMgt 7 }

prioIpPortEntry OBJECT-TYPE
        SYNTAX      PrioIpPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Entry for IP port priority mapping."
        INDEX       { prioIpPortPhysPort,prioIpPortValue }
        ::= { prioIpPortTable 1 }

PrioIpPortEntry ::= SEQUENCE
{
    prioIpPortPhysPort       Integer32,
    prioIpPortValue          Integer32,
    prioIpPortCos            INTEGER,
    prioIpPortStatus         INTEGER
}

prioIpPortPhysPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is defined as ifIndex in the IF-MIB."
        ::= { prioIpPortEntry 1 }

prioIpPortValue OBJECT-TYPE
        SYNTAX      Integer32 (1..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "IP port for this value."
        ::= { prioIpPortEntry 2 }

prioIpPortCos OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Class of service for this entry."
        ::= { prioIpPortEntry 3 }

prioIpPortStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        valid(1),
                        invalid(2)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Writing this to valid(1) creates an entry.
                     Writing this to invalid(2) destroys an entry."
        ::= { prioIpPortEntry 4 }

prioCopy            OBJECT IDENTIFIER ::= { priorityMgt 8 }

prioCopyIpPrec OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Action to copy IP Precedence settings from
                    a source port to many destination ports.
                    The first four octets represent an integer for
                    the source port, in high-to-low (big-endian) order.
                    Starting from the 5th octet is destination port list
                    in a form described by PortList in the Q-BRIDGE-MIB.
                    Writing this object will perform copy.
                    Reading this object will always get a zero-length
                    octet string."
        ::= { prioCopy 1 }

prioCopyIpDscp OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Action to copy IP DSCP settings from
                    a source port to many destination ports.
                    The first four octets represent an integer for
                    the source port, in high-to-low (big-endian) order.
                    Starting from the 5th octet is destination port list
                    in a form described by PortList in the Q-BRIDGE-MIB.
                    Writing this object will perform copy.
                    Reading this object will always get a zero-length
                    octet string."
        ::= { prioCopy 2 }

prioCopyIpPort OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Action to copy IP Port settings from
                    a source port to many destination ports.
                    The first four octets represent an integer for
                    the source port, in high-to-low (big-endian) order.
                    Starting from the 5th octet is destination port list
                    in a form described by PortList in the Q-BRIDGE-MIB.
                    Writing this object will perform copy.
                    Reading this object will always get a zero-length
                    octet string."
        ::= { prioCopy 3 }

prioWrrTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PrioWrrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table for weighted round robin (WRR)."
        ::= { priorityMgt 9 }

prioWrrEntry OBJECT-TYPE
        SYNTAX      PrioWrrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Entry for weighted round robin (WRR)."
        INDEX       { prioWrrTrafficClass }
        ::= { prioWrrTable 1 }

PrioWrrEntry ::= SEQUENCE
{
    prioWrrTrafficClass    INTEGER,
    prioWrrWeight          INTEGER
}

prioWrrTrafficClass OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Traffic class for this entry, as defined in
                    dot1dTrafficClass in the Q-BRIDGE-MIB. The actual
                    maximum depends on the hardware, and is
                    equal to dot1dPortNumTrafficClasses-1."
        ::= { prioWrrEntry 1 }

prioWrrWeight OBJECT-TYPE
        SYNTAX      INTEGER (1..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Weight for this entry."
        ::= { prioWrrEntry 2 }
        
--
-- trapDestMgt
--

trapDestTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF TrapDestEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of trap destination entries."
    ::= { trapDestMgt 1 }

trapDestEntry  OBJECT-TYPE
    SYNTAX     TrapDestEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This entry includes a destination IP address to which to send
        traps for this community."
    INDEX { trapDestAddress }
    ::= { trapDestTable 1 }

TrapDestEntry ::= SEQUENCE {
    trapDestAddress             IpAddress,
    trapDestCommunity           OCTET STRING,
    trapDestStatus              INTEGER,
    trapDestVersion             INTEGER
}

trapDestAddress  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The address to send traps."
    ::= { trapDestEntry 1 }

trapDestCommunity  OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE(0..127))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "A community to which this destination address belongs."
    ::= { trapDestEntry 2 }

trapDestStatus  OBJECT-TYPE
    SYNTAX     INTEGER
               {
                   valid(1),
                   invalid(2)
               }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Writing this to valid(1) creates an entry.
         Writing this to invalid(2) destroys an entry."
    ::= { trapDestEntry 3 }

trapDestVersion OBJECT-TYPE
    SYNTAX     INTEGER
               {
                   version1(1),
                   version2(2)
               }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "This variables represent the version of the Trap we wish to send to trap Receiver,
         if the value is 1, mean we wish to send Version 1 trap, if the value is 2,
         mean we wish to send version 2 trap."
    ::= { trapDestEntry 4}

--
-- securityMgt
--
portSecurityMgt     OBJECT IDENTIFIER ::= { securityMgt 2 }
radiusMgt           OBJECT IDENTIFIER ::= { securityMgt 4 }
tacacsMgt           OBJECT IDENTIFIER ::= { securityMgt 5 }
sshMgt              OBJECT IDENTIFIER ::= { securityMgt 6 }



-- PortSecurityMgt

-- Management for Port Security. A secure port only allowes
-- secure MAC addresses to come in.



portSecPortTable OBJECT-TYPE 
        SYNTAX      SEQUENCE OF PortSecPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The Port Security(MAC bindind) Table"
        ::= { portSecurityMgt 1 }
        
portSecPortEntry OBJECT-TYPE  
        SYNTAX      PortSecPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The entry of portSecPortTable"
        INDEX       { portSecPortIndex }
        ::= { portSecPortTable 1 }

PortSecPortEntry ::= SEQUENCE
{
      portSecPortIndex      Integer32,
      portSecPortStatus     EnabledStatus,
      portSecAction         INTEGER
}

portSecPortIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The port and the trunk (excluding trunk members) interface of
                     the portTable. The interface identified by a particular value
                     of this index is the same interface as identified by the same 
                     value of ifIndex in the IF-MIB."
        ::= { portSecPortEntry 1 }

portSecPortStatus OBJECT-TYPE
        SYNTAX      EnabledStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Set enabled(1) to enable port security and set disabled(2) to 
                     disable port security."
        ::= { portSecPortEntry 2  }

portSecAction OBJECT-TYPE
        SYNTAX        INTEGER
                      {
                        none(1),
                        trap(2),
                        shutdown(3),
                        trapAndShutdown(4)
                      }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION  "The corresponding actions that will take place when a 
                      port is under intruded, when this variable is set to 
                      none(1), no action will perform, when this variable is 
                      set to trap(2), a swPortSecurityTrap trap will send, 
                      when this variable is set to shutdown(3), the port will 
                      shutdown, when this variable is set to 
                      trapAndShutdown(4), a swPortSecurityTrap will send
                      and the port will shutdown."
        ::= { portSecPortEntry 3  }
        
-- radiusMgt 

radiusServerAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IP address of RADIUS server."
        ::= { radiusMgt 1 }

radiusServerPortNumber OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IP port number of RADIUS server."
        ::= { radiusMgt 2 }

radiusServerKey OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Key for RADIUS. This variable can only be written.
                     When this variable is read, it always returns a
                     zero-length string."
        ::= { radiusMgt 3 }

radiusServerRetransmit OBJECT-TYPE
        SYNTAX      INTEGER (1..30)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Maximum number of retransmissions for RADIUS."
        ::= { radiusMgt 4 }

radiusServerTimeout OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Timeout for RADIUS."
        ::= { radiusMgt 5 }

-- tacacsMgt

-- Management for Terminal Access Controller Access Control System plus (TACACS+).

tacacsServerAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IP address of TACACS server."
        ::= { tacacsMgt 1 }

tacacsServerPortNumber OBJECT-TYPE
        SYNTAX      Integer32 (1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IP port number of TACACS server."
        ::= { tacacsMgt 2 }

tacacsServerKey OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Key for TACACS."
        ::= { tacacsMgt 3 }

-- sshMgt

-- Management for Secure Shell Configuration

sshServerStatus OBJECT-TYPE
        SYNTAX      EnabledStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The status of Secure Shell Server, set this value
                     to 1 to enable SSH server, set this value to 2 to 
                     disable the SSH server."
        ::= { sshMgt 1 }

sshServerMajorVersion  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The major version of the SSH Server."
        ::= { sshMgt 2 }

sshServerMinorVersion  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The minor version of the SSH Server."
        ::= { sshMgt 3 }
 
sshTimeout OBJECT-TYPE
        SYNTAX      INTEGER(1..120)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The time interval that the router waits for the SSH 
                     client to respond. The range is 1-120."
        ::= { sshMgt 4 }

sshAuthRetries OBJECT-TYPE
        SYNTAX      INTEGER(1..5)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The number of attempts after which the interface is reset.
                     The range is 1-5."
        ::= { sshMgt 5 }

sshConnInfoTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SshConnInfoEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The table for Secure Shell Connection."
        ::= { sshMgt 6 }

sshConnInfoEntry OBJECT-TYPE
        SYNTAX      SshConnInfoEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The conceptual row for sshConnInfoTable."
        INDEX       { sshConnID }
        ::= { sshConnInfoTable 1 }

SshConnInfoEntry ::= SEQUENCE
{
   sshConnID             Integer32,
   sshConnMajorVersion   Integer32,
   sshConnMinorVersion   Integer32,
   sshConnStatus         INTEGER,
   sshConnEncryptionType INTEGER,
   sshConnUserName       OCTET STRING,
   sshDisconnect         INTEGER
}

sshConnID OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The connection ID of the Secure Shell Connection."
        ::= { sshConnInfoEntry 1 }

sshConnMajorVersion OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The SSH major version."
        ::= { sshConnInfoEntry 2 }

sshConnMinorVersion OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The SSH minor version."
        ::= { sshConnInfoEntry 3 }

sshConnEncryptionType OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                      none(1),
                      des(2),
                      tribeDes(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The encryption type of the SSH. none(1) mean no encrytion
                     , des(2) mean using DES encrytion, tribeDes mean using
                     3DES encrytion."
        ::= { sshConnInfoEntry 4 }

sshConnStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                      negotiationStart(1),
                      authenticationStart(2),
                      sessionStart(3)
                    }      
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The SSH connection State. negotiationStart(1) mean the
                     SSH is in its negotiation start state, authenticationStart(2)
                     mean the SSH is in authentication start state, sessionStart(3)
                     mean the SSH is in session start State."
        ::= { sshConnInfoEntry 5 }

sshConnUserName OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The user name of the connection."
        ::= { sshConnInfoEntry 6 }

sshDisconnect OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                      noDisconnect(1),
                      disconnect(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Set the variables to disconnect to disconnect the connection,
                     when read, this variables always return noDisconnect(1)."
        ::= { sshConnInfoEntry 7 }

--
-- sysLogMgt
--

sysLogStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        enabled(1),
                        disabled(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Whether system log is enabled."
        ::= { sysLogMgt 1 }

sysLogHistoryFlashLevel OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Severity level for logging to flash."
        ::= { sysLogMgt 2 }

sysLogHistoryRamLevel OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Severity level for logging to RAM."
        ::= { sysLogMgt 3 }
        
remoteLogMgt OBJECT IDENTIFIER ::= { sysLogMgt 6 }

remoteLogStatus OBJECT-TYPE
       SYNTAX      EnabledStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION "Whether the remote log system is enabled."
       ::= { remoteLogMgt 1 }

remoteLogLevel OBJECT-TYPE
        SYNTAX      Integer32 (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Severity level for remote log."
        ::= { remoteLogMgt 2 }

remoteLogFacilityType OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                      localUse0(16),
                      localUse1(17),
                      localUse2(18),
                      localUse3(19),
                      localUse4(20),
                      localUse5(21),
                      localUse6(22),
                      localUse7(23)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION " The FacilityType for remote log."
        ::= { remoteLogMgt 3 }

remoteLogServerTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF RemoteLogServerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A Table for storing the remote log Server list."
        ::= { remoteLogMgt 4 }

remoteLogServerEntry OBJECT-TYPE
        SYNTAX      RemoteLogServerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A conceptually row for remoteLogServerTable."
        INDEX { remoteLogServerIp }
        ::= { remoteLogServerTable 1 }

RemoteLogServerEntry ::= SEQUENCE
{
    remoteLogServerIp     IpAddress,
    remoteLogServerStatus ValidStatus
}

remoteLogServerIp OBJECT-TYPE
         SYNTAX      IpAddress
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION "The IP address of the remote log Server."
         ::= { remoteLogServerEntry 1 }

remoteLogServerStatus OBJECT-TYPE
         SYNTAX      ValidStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION  "Setting this to valid(1) creates an entry.
                       Setting this to invalid(2) destroys an entry."
         ::= { remoteLogServerEntry 2 }

--
-- lineMgt
--

consoleMgt           OBJECT IDENTIFIER ::= { lineMgt 1 }
telnetMgt            OBJECT IDENTIFIER ::= { lineMgt 2 }


--consoleMgt

consoleDataBits OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                      databits7(1),
                      databits8(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Number of data bits."
        ::= { consoleMgt 1 }

consoleParity OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                     partyNone(1),
                     partyEven(2),
                     partyOdd(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Define the generation of a parity bit."
        ::= { consoleMgt 2 }

consoleBaudRate OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                     baudRate9600(1),
                     baudRate19200(2),
                     baudRate38400(3),
                     baudRate57600(4),
                     baudRate115200(5)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Baud rate. Valid values are 115200, 57600, 38400,
                     19200, and 9600."
        ::= { consoleMgt 3 }

consoleStopBits OBJECT-TYPE
        SYNTAX     INTEGER
                   {
                    stopbits1(1),
                    stopbits2(2)
                   }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION "The stop Bits of the console, valid value is stopbits1(1) or stopbits2(2)"
        ::= { consoleMgt 4 }

consoleExecTimeout OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "In serial console, use the consoleExecTimeout
                     variables to set the interval that the EXEC command
                     interpreter waits until user input is detected, 
                     set the value to 0 to disable it."
        ::= { consoleMgt 5 }

consolePasswordThreshold OBJECT-TYPE
        SYNTAX      INTEGER (0..120)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "In serial console, use the consolePasswordThreshold variabes to
                     set the password intrusion threshold, which limits the number of 
                     failed logon attempts allowed. Set it value to 0 to disable it."
        ::= { consoleMgt 6 }

consoleSilentTime OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "In Console, Use the consoleSilentTime variable to set the amount 
                     of time the management console is inaccessible after the number
                     of unsuccessful logon attempts exceeds the threshold set by the 
                     password-thresh command. Set it to 0 to disable it."
                     
        ::= { consoleMgt 7 }

-- telnetMgt

telnetExecTimeout OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION  "In a telnet session, to set the interval that the EXEC command interpreter
                     waits until user input is detected, use the telnetExecTimeout
                     variables. "
        ::= { telnetMgt 1 }

telnetPasswordThreshold OBJECT-TYPE
        SYNTAX      INTEGER (0..120)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "In a telnet session, use the consolePasswordThreshold variabes to
                     set the password intrusion threshold, which limits the number of 
                     failed logon attempts allowed. Set it value to 0 to disable it."
        ::= { telnetMgt 2 }

--
-- trap definitions
--

    powerConnect3248Traps  OBJECT IDENTIFIER ::= { powerConnect3248Notifications 1 }
    powerConnect3248TrapsPrefix OBJECT IDENTIFIER ::= { powerConnect3248Traps 0 }

      swPowerStatusChangeTrap NOTIFICATION-TYPE
          OBJECTS     { swIndivPowerUnitIndex, swIndivPowerIndex, swIndivPowerStatus }
          STATUS      current
          DESCRIPTION "This trap is sent when the power status of
                      an individual power changes."
          ::= {powerConnect3248TrapsPrefix 1 }
          
      swPortSecurityTrap NOTIFICATION-TYPE
          OBJECTS       { ifIndex }
          STATUS        current
          DESCRIPTION "This trap is sent when the port is being intruded. This trap  
                       will only be sent when the portSecActionTrap is enabled." 
          ::= { powerConnect3248TrapsPrefix 36 } 

END

