

STAND-ALONE-ETHERNET-SWITCH-MIB
        --REVISION 1.00

DEFINITIONS ::= BEGIN

IMPORTS
        enterprises, Counter, Gauge, IpAddress, TimeTicks
                FROM RFC1155-SMI
        TRAP-TYPE
                FROM RFC-1215
        OBJECT-TYPE
                FROM RFC-1212
        Timeout
                FROM BRIDGE-MIB
        sysName, ifIndex, DisplayString
                FROM RFC1213-MIB;


grandjunction   OBJECT IDENTIFIER ::= { enterprises 437 }


-- categories

products        OBJECT IDENTIFIER ::= { grandjunction 1 }


-- product family

fastLink        OBJECT IDENTIFIER ::= { products 1 }

-- groups

seriesG2xx      OBJECT IDENTIFIER ::= { fastLink 2 }
series2000      OBJECT IDENTIFIER ::= { fastLink 3 }

        -- LAST-UPDATED        "9708040000Z"
        -- ORGANIZATION        "Cisco Systems, Inc."
        -- CONTACT-INFO
        --         "       Cisco Systems
        --                 Customer Service
        --
        --         Postal: 170 W Tasman Drive
        --                 San Jose, CA  95134
        --                 USA
        --
        --            Tel: +1 800 553-NETS
        --
        --         E-mail: cs-snmp@cisco.com"
        -- DESCRIPTION
        --         "MIB for the Catalyst 1900 and 2820,
        --                      Catalyst 2100 and 2800,
        --                      EtherSwitch 12XX and 14XX"


sysInfo         OBJECT IDENTIFIER ::= { series2000 1 }

sysConfig       OBJECT IDENTIFIER ::= { series2000 2 }

port            OBJECT IDENTIFIER ::= { series2000 3 }

netMgmt         OBJECT IDENTIFIER ::= { series2000 4 }

upgrade         OBJECT IDENTIFIER ::= { series2000 5 }

vlan            OBJECT IDENTIFIER ::= { series2000 6 }

bandwidthUsage  OBJECT IDENTIFIER ::= { series2000 7 }

bridgeGroup     OBJECT IDENTIFIER ::= { series2000 8 }

-- the following group manages G2xx modules

esModuleBasic   OBJECT IDENTIFIER ::= { seriesG2xx 1 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                       General System Information                       |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



sysInfoFwdEngineRevision OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Returns the revision number of the forwarding engine ASIC."

        ::= { sysInfo 1 }

sysInfoBoardRevision OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Returns the revision number of the switch main board
                 on which the system firmware resides."

        ::= { sysInfo 2 }

sysInfoTotalNumberOfPorts OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of physical network ports.
                                 fixed configuration     - 27, 15 or 14 ports
                                 modular configuration   - 25 - 41 ports

                 This object does NOT represent the upper bound of
                 indices into port tables.  See sysInfoNumberOfSwitchPorts
                 and sysInfoNumberOfSharedPorts for that purpose."

        ::= { sysInfo 3 }

sysInfoNumberOfSwitchPorts OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of ports that are individually switched.
                             - 27, 15 or 14 switched ports.

                 Each of these ports has hardware support for a full range
                 of statistics and management controls.  This object
                 represents the upper bound of indices into the various
                 port tables in the port group."

        ::= { sysInfo 4 }

sysInfoNumberOfSharedPorts OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of ports that are collectively switched.
                                 fixed configuration    - 0 ports
                                 modular configuration  - 0 to 16 ports

                 Hardware supported statistics are available for these
                 ports as a whole.  Management controls are limited to
                 enabling and disabling of the port."

        ::= { sysInfo 5 }

sysInfoNumberOfInstalledModules OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of high speed switched ports with installed
                 and recognized modules.  Hardware supported statistics
                 are available for installed modules.  For repeater group
                 modules, statistics are supported for the group as a whole,
                 relative to the interface between the group and the
                 switching engine.  Management controls for an individual
                 repeater port on a module are limited to enabling and
                 disabling the port."

        ::= {sysInfo 6}

sysInfoBuffersUsed OBJECT-TYPE
        SYNTAX  Gauge
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The high-water mark of frame buffer usage in this
                 switch.  The initial value upon system reset is zero."

        ::= { sysInfo 7 }

sysInfoMaxBuffers OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number of times sysBuffersUsed has reached its maximum
                 value and been reset to zero by the switch.
                 The initial value is zero."

        ::= { sysInfo 8 }

sysInfoUtilDisplay OBJECT-TYPE
        SYNTAX  INTEGER (0..24)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of utilization meter LEDs currently lit on
                 the front panel."

        ::= { sysInfo 9 }

sysInfoAddrCapacity OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The system-wide maximum number of addresses supported.
                 This address capacity includes both dynamic and static
                 address types."

        ::= { sysInfo 10 }

sysInfoRestrictedStaticAddrCapacity OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The system-wide maximum number of restricted static
                 addresses supported.  This object is a subset of
                 sysInfoAddrCapacity."

        ::= { sysInfo 11 }

sysInfoPOSTResult OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A value which indicates the failures of some particular
                 Power On Self Test (POST).

                 The value is a sum.  This sum initially takes the
                 value zero, Then, for each POST test, T, in the range
                 1 through 16, that fails, 2 raised to (T - 1) is added
                 to the sum.

                 The defined POST tests are:

                  T    POST Test
                 ---   ---------
                  1    ports
                  2    station address PROM
                  3    CAM
                  4    RS-232 port
                  5    real time clock
                  6    CAM SRAM
                  7    system timer interrupt
                  8    port control/status
                  9    Flag DRAM or ISLT ASIC
                  10   Packet DRAM
                  11   forwarding engine
                  12   forwarding engine
                  13   non-volatile RAM
                  14   SRAM
                  15   EPROM
                  16   ECU DRAM"

        ::= { sysInfo 12 }

sysInfoPortFailedPOSTMap OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array where the presence of a particular bit
                 indicates a failure of a particular port, as determined
                 by the POST 'individual ports' test.

                 Each octet within the value of this object specifies a
                 set of eight ports, with the first octet specifying ports
                 1 through 8, the second octet specifying ports 9
                 through 16, etc.   Within each octet, the most
                 significant bit represents the lowest numbered
                 port, and the least significant bit represents the
                 highest numbered port.  Thus, each port of the
                 switch is represented by a single bit within the
                 value of this object.  If that bit has a value of
                 '1' then that port is included in the set of
                 ports; the port is not included if its bit has a
                 value of '0'."

        ::= { sysInfo 13 }

sysInfoPortLinkDisplayMap OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array where the presence of a particular bit
                 indicates a lit link LED for a port.

                 Each octet within the value of this object specifies a
                 set of eight link LEDs, with the first octet specifying
                 link LEDs for ports 1 through 8, the second octet
                 specifying link LEDs 9 through 16, etc.   Within each
                 octet, the most significant bit represents the lowest
                 numbered LED, and the least significant bit represents the
                 highest numbered LED.  Thus, each LED is represented by a
                 single bit within the value of this object.  If that bit
                 has a value of '1' then that LED is currently lit;
                 the LED is not lit if its bit has a value of '0'."

        ::= { sysInfo 14 }

sysInfoPortDisabledDisplayMap OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bit array where the presence of a particular bit
                 indicates a lit disabled LED for a port.

                 Each octet within the value of this object specifies a
                 set of eight disabled LEDs, with the first octet specifying
                 disabled LEDs for ports 1 through 8, the second octet
                 specifying disabled LEDs 9 through 16, etc.   Within each
                 octet, the most significant bit represents the lowest
                 numbered LED, and the least significant bit represents the
                 highest numbered LED.  Thus, each LED is represented by a
                 single bit within the value of this object.  If that bit
                 has a value of '1' then that LED is currently lit;
                 the LED is not lit if its bit has a value of '0'."

        ::= { sysInfo 15 }

sysInfoBroadcastStormLastTime OBJECT-TYPE
        SYNTAX  TimeTicks
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
                "The last time a port exceeded broadcast threshold.
                 This object is only valid if broadcast storm control
                 is enabled at least once since system start up.
                 The port where the event occurred is
                 identified by sysInfoPortExceedBroadcastStorm."

    ::= { sysInfo 16 }

sysInfoPortExceedBroadcastStorm OBJECT-TYPE
    SYNTAX  INTEGER(0..27)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
                "The port where the broadcast threshold was last exceeded,
                 if Broadcast Storm Control was enabled. The time when the event
                 occurred is identified by sysInfoBroadcastStormLastTime.
                 The default value is 0."

        ::= { sysInfo 17 }

sysInfoRedundantPowerState OBJECT-TYPE
        SYNTAX  INTEGER {
                        off(1),
                        healthy(2),
                        faulty(3)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Indicates the state of the redundant power supply.

                off      : the switch is not connected to a
                           redundant power source.

                healthy  : a redundant power source is
                           connected to the switch and the power source
                           is operating correctly.

                faulty   : a redundant power source is
                           connected to the switch but a failure
                           exists in the power system."

        ::= { sysInfo 18 }

sysInfoInternalPowerState OBJECT-TYPE
        SYNTAX  INTEGER {
                        off(1),
                        on(2)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Indicates the state of the internal power supply.

                off : the internal power supply is off.

                on  : the internal power supply is on."

        ::= { sysInfo 19 }

sysInfoConfigFileStatus OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..80))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The status of current or last succesful configuration
                 download since the switch was initialized. The status
                 contains the file name and host the last successful
                 configuration download was executed.

                 Note that a successful download does not mean all commands
                 in the configuration files were executed successfully."
        ::= { sysInfo 20 }

sysInfoImageCapability OBJECT-TYPE
        SYNTAX  INTEGER {
                    standard(1),
                    enterprise(2)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The software image capability supported."
        ::= { sysInfo 21 }


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                       General System Configurations                    |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


sysConfigReset OBJECT-TYPE
        SYNTAX  INTEGER { noReset(1), reset(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Setting this object to reset(2) causes a complete
                reset of both hardware and software, but does not run
                the POST (Power On Self Test).  All parameters including
                all static addresses will be retained.

                Setting this object to noReset(1) has no effect.
                The switch always returns the value noReset(1) when
                this object is read."

        ::= { sysConfig 1 }

sysConfigDefaultReset OBJECT-TYPE
        SYNTAX  INTEGER { noReset(1), reset(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Setting this object to reset(2) causes a complete
                reset of both hardware and software, but does not run
                the POST (Power On Self Test).  All configuration parameters
                will revert to their factory default settings, and all
                addresses assigned will be removed.

                Setting this object to noReset(1) has no effect.
                The switch always returns the value noReset(1) when
                this object is read."

        ::= { sysConfig 2 }

sysConfigClearPortStats OBJECT-TYPE
        SYNTAX  INTEGER { noClear(1), clear(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Setting this object to noClear(1) results in no action.
                 When set to clear(2), the switch will reset all
                 port statistics to zero.  Port statistics are kept in
                 the switchPortTable, the switchPortTxStatTable, the
                 switchPortRxStatTable, and the switchPortTxCollTable.

                 This object always returns noClear(1) when read."

        ::= { sysConfig 3 }

sysConfigAddressViolationAction OBJECT-TYPE
        SYNTAX  INTEGER {
                        suspend(1),
                        disable(2),
                        ignore(3)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates what action to take when an address violation
                (an address mismatch or duplication) occurs on a
                secured port.  The default action is to suspend(1)
                the port.

                suspend  : port is suspended until the correct address
                           is again received.  While suspended, port
                           will not forward frames it receives, nor
                           will it accept frames to be forwarded.

                disable  : port is disabled and will not forward any
                           frames as in the case of suspension above.
                           Port can only be reenabled by an explicit
                           management action on the part of the user.

                ignore   : do nothing to the port (simply discard the
                           offending address)."

        ::= { sysConfig 4 }

sysConfigAddressViolationAlert OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "When set to enabled(1), the switch will generate an
                 addressViolation trap upon detecting an address
                 violation on a secured port.  When set to
                 disabled(2), no such trap will be issued for address
                 violation on secure ports.  The default is
                 enabled(1)."

        ::= { sysConfig 5 }

sysConfigSwitchingMode OBJECT-TYPE
        SYNTAX  INTEGER {
                        store-and-forward(1),
                        fragmentFree(2),
                        fastForward(3)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The switch can operate as a high speed cut-through
                 switch, or as a traditional store-and-forward switch.
                 Cut-through switching of frames is enabled when
                 this object is set to fastForward(3) or fragmentFree(2).
                 This works to reduce buffering latency by attempting to
                 forward a frame before reception is completed.

                 Switches operating with firmware versions greater
                 than or equal to 6.00 support only fragmentFree(2) and
                 sotre-and-forward(1).

                 Broadcast frames are always switched using the
                 store-and-forward(1) method.  Multicast frame switching
                 may be forced to the store-and-forward(1) mode using
                 the object sysConfigMulticastStoreAndForward.
                 The switching of any types of frame automatically reverts
                 to the store-and-forward(1) method whenever the
                 switch is configured to monitor frames internally (see the
                                 object sysConfigMonitorPort).

                 The default value for this object for firmware version
                 greater than or equal to 6.00 is fragmentFree(2).
                 The default value for this object for firmware version
                 less than 6.00 is fastForward(3).

                 store-and-forward: entire frame is buffered before it is
                                    forwarded to the appropriate destination.

                 fragmentFree     : forward the frame to the appropriate
                                    destination after 64 bytes plus preamble
                                    have been received.

                 fastForward      : minimize latency by making the forwarding
                                    decision as soon as possible during frame
                                    reception (after 6 bytes plus preamble)."

        ::= { sysConfig 6 }

sysConfigMulticastStoreAndForward OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "When set to enabled(1), the switching of multicast frames
                 will use the store-and-forward method, regardless of the
                 setting of sysConfigSwitchingMode.  When set to disabled(2),
                 multicast frames will be switched according to the
                 current setting of sysConfigSwitchingMode.

                 The switching of any types of frame automatically reverts
                 to the store-and-forward method whenever the
                 switch is configured to monitor frames internally (see the
                 object sysConfigMonitorPort).  The default value for this
                 object is disabled(1)."

        ::= { sysConfig 7 }

sysConfigMonitor OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Selects whether frames to/from certain ports are sent
                to sysConfigMonitorPort.  A port is selected for monitoring
                purpose when its portMonitoring object is set to enabled.
                The default value is disabled(2)."

        ::= { sysConfig 8 }

sysConfigMonitorPort OBJECT-TYPE
        SYNTAX  INTEGER (0..31)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Port number to which all frames to/from monitored ports are
                sent.  Frames are only monitored if the sysConfigMonitor
                object is set to enabled(1).

                A number from 1 to 27 selects a switch port.

                The number 26 selects fast Ethernet port F1 (called port
                A on the modular switches), 27 selects fast Ethernet port F2
                (port B on the modular switches).  The number 31 selects no
                monitor port.  The default value is 31."

        ::= { sysConfig 9 }

sysConfigHigherProtocolMonitor OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
                "Selects whether frames addressed to and from the higher-
                 layer protocol processor of the switch are to be
                 monitored.  The higher-layer protocol processor is the
                 entity that responds to all SNMP/TFTP/XNSEcho management
                 requests.  The default value is disabled(2)."

        ::= { sysConfig 10 }

sysConfigPort25Connector OBJECT-TYPE
        SYNTAX  INTEGER {
                self-sensing(1), -- hardware will learn
                rj45(2),         -- 10BaseT RJ45 connector
                aui(4)           -- 10Base5 thick-wire connector
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Specify which of the two connector types is providing
                 active connection on port 25.  Setting the connector
                 to self-sensing allows the switch to learn the active
                 connector for port 25 on its own.  The other two
                 possible values force the switch to use the
                 chosen type.  The default value is self-sensing(1).

                 rj45: 10BaseT RJ45 connector
                 aui : 10Base5 thick-wire connector."

        ::= { sysConfig 11 }

sysConfigHeuristics OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "A value which enables special heuristic functions.

                 The value is a sum.  This sum initially takes the
                 value zero, Then, for each heuristic function, H,
                 in the range 1 through 32, that is enabled, 2 raised
                 to (H - 1) is added to the sum.

                 The heuristic functions are:

                  H    Heuristic Function
                 ---   ------------------
                  1    system reset when an invalid buffer is detected
                  2    system reset when free and transmit lists are mixed
                  3    system reset when the buffer counter overflows
                  4    system reset when the frame status overflows
                  5    system reset when queue head passes tail
                  6    system reset when the self-monitor loopback fails
                  7    system reset when the port status interface hangs
                  8    system reset when the LED interface hangs
                  9    system reset when the buffer interface hangs
                  10   system reset when the frame DRAM interface hangs
                  11   system reset when invalid hardware activities are detected
                  12   reserved (must be zero)
                  13   reserved (must be zero)
                  14   reserved (must be zero)
                  15   reserved (must be zero)
                  16   reserved (must be zero)
                  17   reserved (must be zero)
                  18   reserved (must be zero)
                  19   size of transmit queue is 1.5K.
                  20   reserved (must be zero)
                  21   reserved (must be zero)
                  22   reserved (must be zero)
                  23   unfreeze LEDs upon a POST failure
                  24   reserved (must be zero)
                  25   reserved (must be zero)
                  26   reserved (must be zero)
                  27   reserved (must be zero)
                  28   reserved (must be zero)
                  29   reserved (must be zero)
                  30   reserved (must be zero)
                  31   reserved (must be zero)
                  32   reserved (must be zero)"

        ::= { sysConfig 12 }

sysConfigEnableSTP OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The switch implements the 802.1d Spanning Tree
                 Algorithm & Protocol (STP) on all its port to detect loops
                 in the bridge topology.  The user may, for any reason,
                 elect to disable the execution of STP, by setting this object
                 to disabled(2).

                 When STP is disabled(2), all ports currently in suspended-stp
                 status will immediately transition to enabled status, and
                 frame forwarding will resume.

                 When STP is enabled(1), Suspended-stp ports will transition
                 to enabled according to the STP.

                 This object is not supported by firmware versions greater
                 than or equal to 6.00.

                 The default value is enabled(1)."

        ::= { sysConfig 13 }

sysConfigStrictSTPTransition OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  deprecated
        DESCRIPTION
                "The 802.1d Spanning Tree Protocol dictates that a port
                 must start out in the blocking state and transition through
                 two other intermediate states (listening and learning),
                 before it can begin forwarding frames.  These state
                 transitions help prevent temporary loops in the bridge
                 topology.

                 The switch implements a special algorithm where a
                 singly-addressed port may move to the forwarding state as soon
                 as it regains a previously lost linkbeat, or when it is
                 enabled after having been suspended for address violation.
                 This does not comply with the 802.1d STP in the strictest
                 sense.  To force compliance, this object may be set to
                 enabled(1).

                 The default value is disabled(2)."

        ::= { sysConfig 14 }

sysConfigBroadcastStormAction OBJECT-TYPE
        SYNTAX  INTEGER { block(1), ignore(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates what action to take when broadcast threshold is
                 exceeded at a port.

                 block  : broadcast packets received from the port are discarded
                          until the broadcast rate drops below the re-enable
                          threshold.
                 ignore : do nothing to the port.

                 The default value is ignore(2)."

        ::= { sysConfig 15 }

sysConfigBroadcastStormAlert OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "When set to enabled(1), the switch will generate a
                 broadcastStormTrap upon detecting that a port is receiving
                 broadcast packets at a rate higher than the specified broadcast
                 threshold, if sysConfigBroadcastStormControl is enabled.

                 Note: after the initial trap, additional traps will not be
                 generated for a blocked port while the blocked port
                 received broadcast packets greater than the specified
                 sysConfigBroadcastLowerThreshold value.

                 When set to disabled(2), no such trap will be issued.  The
                 default value is disabled(2)."

        ::= { sysConfig 16 }

sysConfigBroadcastThreshold OBJECT-TYPE
        SYNTAX  INTEGER ( 10..14400 )
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "This object allows user to set the upper limit for Broadcast
                storm control function. The broadcast rate is the number of
                broadcast packets received from a port in a second.
                If sysConfigBroadcastStormControl is set to enabled and
                sysConfigBroadcastStormAction is set to block, the switch stops
                forwarding broadcast packets received from a port when the
                number of broadcast packets received from the port
                in a second exceeds the threshold.

                The default value is 500."

        ::= { sysConfig 17 }

sysConfigBroadcastReEnableThreshold OBJECT-TYPE
        SYNTAX  INTEGER ( 10..14400 )
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object allows user to set the re-enable threshold for Broadcast
                 Storm Control function. Once a port has been blocked, the
                 number of broadcast packets received per second from the port
                 must drop below this threshold before broadcast packet
                 forwarding for the port is automatically re-enabled.
                 This threshold is relevant only if the user has chosen to
                 block broadcast packet forwarding to control broadcast storms.

                 The default value is 250."

        ::= { sysConfig 18 }

sysConfig10MbpsEnhancedCongestionControl OBJECT-TYPE
        SYNTAX      INTEGER { adaptive(1), disabled(2),
                          moderate-aggressive(3), aggressive(4)}
        ACCESS  read-write
        STATUS      mandatory
        DESCRIPTION
                "Enhanced Congestion Control (ECC) reduces the transmit
                 back-off period to allow the port to transmit more quickly,
                 thereby reducing the transmit queue congestion
                 on the port. When set to disabled(2), ECC is disabled.
                 When set to adaptive(1), ECC is enabled when the port‘s
                 transmit queue is full. Set to moderate-aggressive(3)
                 to enable ECC with a back-off period that is divided by
                 a factor of 32. Set to aggressive(4) to enable ECC with
                 a back-off period that is divided by a factor of 1024.

                 This object controls the setting on all 10Mbps ports of
                 the switch.

                 The default value is disabled(1)."

        ::= { sysConfig 19 }

sysConfigNetworkPort OBJECT-TYPE
        SYNTAX  INTEGER (0..27)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "If a network port is configured, all unknown
                unicast packets are sent only to the network port.
                Only one port in the switch can be selected as the
                network port.
                The number 0 selects no network port.

                The default value is 0."
    ::= { sysConfig 20 }

sysConfigHalfDuplexBackPressure OBJECT-TYPE
        SYNTAX   INTEGER { enabled(1), disabled(2) }
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
                "Back-pressure allows a port to force a collision when there
                 are no buffers to receive frames.  Because collision is only
                 meaningful on a port operating in half-duplex, back-pressure
                 enhancement does not apply to full-duplex ports.

                 When set to enabled(1), buffer starvation causes the switch
                 to force collisions when receiving frames on (half-duplex)
                 ports.  This, in turn, signals network nodes that are connected
                 to these ports to retransmit their frames.  It is expected
                 that this transit delay enables the switch to free up buffers
                 to successfully receive the frames.

                 When set to disabled(2), the switch does not apply back-
                 pressure when there is buffer starvation.

                 The default value is disabled(2)."

        ::= { sysConfig 21 }

sysConfigFastEthcParmsPort  OBJECT-TYPE
        SYNTAX  INTEGER (26..27)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The parameters of port to use for Fast EtherChannel.
                 Defaults to 26. When Fast EtherChannel is enabled,
                 the following object values parameters are configured
                 to the same values for ports 26, 27, and the
                 Fast EtherChannel:

                 Non-trunks:
                    swPortFloodUnregisteredMulticasts
                    swPortFloodUnknownUnicasts
                    swPortEnhancedCongestionControl
                    vmVlan in CISCO-VLAN-MEMBERSHIP-MIB
                    dot1dStpPortPathCost in BRIDGE-MIB
                    dot1dStpPortPriority in BRIDGE-MIB

                 Trunks:
                    swPortFloodUnregisteredMulticasts
                    swPortFloodUnknownUnicasts
                    swPortEnhancedCongestionControl
                    swPortBridgePriority
                    swPortBridgePriorityAlternate
                    swPortBridgePathCost
                    swPortBridgePathCostAlternate
                    vlanTrunkPortDynamicState in CISCO-VTP-MIB
                    vmTrunkPortVlansEnabled in CISCO-VTP-MIB
                    vmTrunkPortVlansPruningEligible in CISCO-VTP-MIB
                    dot1dStpPortPathCost value of a vlan in CISCO-VLAN-MEMBERSHIP-MIB
                    dot1dStpPortPriority value of a vlan in CISCO-VLAN-MEMBERSHIP-MIB"
        ::= { sysConfig 22}

sysConfigTftpServerName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..30))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The TFTP server host name or IP address. The value of this
                 object is the same as upgradeTFTPServerName object."
        ::= { sysConfig 23}

sysConfigConfigFileAuto OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Selects whether the system should attempt to retrieve the
                 configuration file on system power-up. When enabled, the
                 system will attempt to retrieve <sysName value>-confg,
                 <sysName value>.cfg, switch-confg, or ciscosw.cfg
                 files in the order listed using TFTP. The TFTP requests
                 will be sent to the host specified by sysConfigTFTPServerName
                 if configured. Otherwise, the request is sent IP broadcast
                 address 255.255.255.255. The first file successfully retrieved
                 will be used.

                 If disabled, the configuration file can still be retrieved
                 if specified to do so in the DHCP response.

                 The default value is disabled(2)."
        ::= { sysConfig 24}

sysConfigPortGroupingMode OBJECT-TYPE
        SYNTAX  INTEGER {bridge-group(1), vlan(2)}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                 "When set to bridge-groups (1), the switch allows ports
                 to be assigned to bridge groups. Bridge Group configuration
                 is local to the switch; virtual LANs span across the network.
                 In the bridge-group mode, virtual LAN configuration is disabled.
                 When set to vlan(2), the switch allows ports to be assigned to
                 one or more virtual LANs. Bridge group configuration is disabled.
                 The switch is reset when the value of this object is modified.

                 The default value is vlan(2)"
        ::= {sysConfig 25 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                       The Switch Port Table                            |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


switchPortTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A list of configuration entries for individually switched
                 ports."

        ::= { port 1 }

swPortEntry     OBJECT-TYPE
        SYNTAX  SwPortEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Configuration parameters for an individually switched port."
        INDEX   { swPortIndex }
        ::= { switchPortTable 1 }

SwPortEntry ::=
        SEQUENCE {
                swPortIndex
                        INTEGER,
                swPortControllerRevision
                        INTEGER,
                swPortName
                        DisplayString,
                swPortMediaCapability
                        INTEGER,
                swPortType
                        INTEGER,
                swPortConnectorType
                        INTEGER,
                swPortACR
                        INTEGER,
                swPortFullDuplex
                        INTEGER,
                swPortStatus
                        INTEGER,
                swPortAdminStatus
                        INTEGER,
                swPortLastStatus
                        INTEGER,
                swPortStatusChanges
                        Counter,
                swPortAddressingSecurity
                        INTEGER,
                swPortAddressTableSize
                        INTEGER,
                swPortNumberOfLearnedAddresses
                        INTEGER,
                swPortNumberOfStaticAddresses
                        INTEGER,
                swPortEraseAddresses
                        INTEGER,
                swPortFloodUnregisteredMulticasts
                        INTEGER,
                swPortFloodUnknownUnicasts
                        INTEGER,
                swPortMonitoring
                        INTEGER,
                swPortSecuredAddressViolations
                        Counter,
                swPortLinkbeatStatus
                        INTEGER,
                swPortLinkbeatLosses
                        Counter,
                swPortJabberStatus
                        INTEGER,
                swPortJabbers
                        Counter,
                swPortClearStatistics
                        INTEGER,
                swPortBroadcastStormBlocked
                        INTEGER,
                swPortSTPPortFastMode
                        INTEGER,
                swPortHalfDuplexBackPressure
                        INTEGER,
                swPortDuplexStatus
                        INTEGER,
                swPortFullDuplexFlowControl
                        INTEGER,
                swPortEnhancedCongestionControl
                        INTEGER,
                swPortBridgePriority
                        INTEGER,
                swPortBridgePriorityAlternate
                        INTEGER,
                swPortBridgePathCost
                        INTEGER,
                swPortBridgePathCostAlternate
                        INTEGER,
                swPortIfIndex
                        INTEGER,
                swPortInternal
                        INTEGER
        }

swPortIndex     OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number greater than zero identifying an individually
                switched port.  The same value of a port index variable
                for any of the port tables in this MIB group selects
                the same port."
        ::= { swPortEntry 1 }

swPortControllerRevision OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Returns the revision number of the port controller."

        ::= { swPortEntry 2 }

swPortName       OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..60))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "A descriptive string of up to 60 characters used by the
                 network administrator to name a port."

        ::= { swPortEntry 3 }

swPortMediaCapability OBJECT-TYPE
        SYNTAX  INTEGER {
                        other(1),
                        private-ethernet(2),
                        general-ethernet(3),
                        general-fast-ethernet(4),
                        private-fast-ethernet(5),
                        repeated-fast-ethernet(6),
                        fddi(7),
            atm(8)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The port media capability is one of:
                 other            : none of the following
                 private-ethernet : dedicated 10 Mbps Ethernet port
                 general-ethernet : non-dedicated 10 Mbps Ethernet port
                 general-fast-ethernet: non-dedicated 100 Mbps Ethernet port
                 private-fast-ethernet: dedicated 100 Mbps Ethernet port
                 repeated-fast-ethernet: repeated 100 Mbps Ethernet port
                 fddi             : FDDI module
         atm              : ATM module"

        ::= { swPortEntry 4 }

swPortType        OBJECT-TYPE
        SYNTAX  INTEGER {
                        other(1),
                        network(2)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Identifies whether the port is
                 other    : none of the following
                 network  : port does not have address number restriction
                            while it is unsecured.  A secured Network port
                            has an imposed limit on the maximum number of
                            addresses it can have.  See the object
                            object swPortAddressTableSize for this
                            upper maximum value."

        ::= { swPortEntry 5 }

swPortConnectorType OBJECT-TYPE
        SYNTAX  INTEGER {
                        other(1),
                        rj45(2),
                        bnc(3),
                        aui(4),
                        fiber-sc(5),
                        fiber-st(6),
                        empty(7),
                        group(8),
                        fddi-mic(10),
                        fiber-mtrj(11)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The type of connector the port is currently using.
                 It is one of

                 other    : none of the following (unknown)
                 rj45     : common unshielded twisted pair connector
                 bnc      : thin-coax (BNC)
                 aui      : thick-coax (AUI)
                 fiber-sc : fiber SC connector
                 fiber-st : fiber ST connector
                 empty    : the port is not installed
                 group    : the switch port contains a group of connectors
                 fddi-mic : FDDI fiber optic connector
                 fiber-mtrj : fiber MT-RJ connector."

        ::= { swPortEntry 6 }

swPortACR OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  deprecated
        DESCRIPTION
                "Selects whether Accelerated Congestion Resolution (ACR)
                should be used on the port.  When enabled(1), ACR
                allows for early frame discard when congestion is
                experienced on a port, thus limiting the number of
                frames which may at any time be queued
                for a single port.

                The default value is disabled(2)."

        ::= { swPortEntry 7 }

swPortFullDuplex OBJECT-TYPE
        SYNTAX  INTEGER {
                        enabled(1),
                        disabled(2),
                        auto-negotiate(3),
                        enabled-flow-control(4)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "Set to enabled(1) to operate in full duplex mode: port
                will allow simultaneous transmit and receive which can
                double its bandwidth. Set to disabled(2) to operate in
                normal mode. Set to auto-negotiate(3) to allow the switch
                to negotiate with the other end of the connection.

                Auto-negotiate(3) may not be set on a 10Mbps port, or
                a port whose connector type is not rj45. Doing so
                will result in badValue.

                Set to enabled_flow_control(4) to allow a port to operate
                in full duplex and to allow a port to throttle packet
                transmission according to flow control messages sent by
                the other end of the link."

        ::= { swPortEntry 8 }


swPortStatus  OBJECT-TYPE
        SYNTAX  INTEGER {
                        enabled(1),
                        disabled-mgmt(2),
                        suspended-linkbeat(3),
                        suspended-jabber(4),
                        suspended-violation(5),
                        disabled-violation(7),
                        suspended-not-present(9),
                        suspended-not-recognized(10),
                        reset(11),
                        suspended-ringdown(12),
                        suspended-stp(13),
                        disabled-self-test(14),
                        enable-degraded(15),
                        suspended-atm-lane-down(16),
                        suspended-no-vlan(17),
                        disabled-no-vlan(18),
                        suspended-atm-network-down(19),
                        suspended-disl(20)
                        }

        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Current operational status of the port.  Possible values are:
                 enabled              : normal operation (transmit and receive)
                 disabled-mgmt        : disabled by explicit management action
                 suspended-linkbeat   : suspended due to absence of linkbeat
                 suspended-jabber     : suspended because port is jabbering
                 suspended-violation  : suspended due to a secured address
                                        violation
                 disabled-violation   : disabled due to a secured address
                                        violation
                 suspended-not-present: there is no module inserted in the
                                        expansion slot.
                 suspended-not-recognized: there is an unrecognized module
                                        inserted in the expansion slot.
                 reset                : the port is currently in the reset
                                        state.
                 suspended-ringdown   : suspended due to a ring-down condition
                 suspended-stp        : Spanning Tree Protocol non forwarding state
                 disabled-self-test   : disabled because port fails self-test
                 enable-degraded      : connectivity still present but performance
                                        is lowered due to errors.
                 suspended-atm-lane-down: Non-trunk ATM module using LANE suspended
                                          because there is no active LANE client.
                 suspended-no-vlan    : the port is not assigned to a VLAN or the
                                        assigned VLAN does not exist.
                 disabled-no-vlan     : vlan of the port is suspended or does not exist.
                 suspended-atm-network-down: ATM module suspended due to ATM network down,
                                             or ATM physical layer down.
                 suspended-disl       : suspended while port is negotiating trunking
                                        mode using the Dynamic Inter Switch Link
                                        protocol.

                 The default value is enabled(1), unless POST has detected
                 a failure on the port, in which case, it is
                 disabled-self-test(9).  Any swPortStatus of type
                 disabled-xxxx (except disabled-self-test) is saved across
                 a system reset so a port may also come up with such a status."

        ::= { swPortEntry 9 }

swPortAdminStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                        enabled(1),
                        disabled-mgmt(2)
                        }

        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "By explicit management action, change the port status
                 to either
                 enabled      : normal status (transmit and receive enabled)
                 disabled-mgmt: transmit and receive disabled."

        ::= { swPortEntry 10 }

swPortLastStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                        enabled(1),
                        disabled-mgmt(2),
                        suspended-linkbeat(3),
                        suspended-jabber(4),
                        suspended-violation(5),
                        disabled-violation(7),
                        suspended-not-present(9),
                        suspended-not-recognized(10),
                        reset(11),
                        suspended-ringdown(12),
                        suspended-stp(13),
                        disabled-self-test(14),
                        enable-degraded(15),
                        suspended-atm-lane-down(16),
                        suspended-no-vlan(17),
                        disabled-no-vlan(18),
                        suspended-atm-network-down(19),
                        suspended-disl(20)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The value of swPortStatus prior to its current value."

        ::= { swPortEntry 11 }

swPortStatusChanges OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number of times swPortStatus has changed."

        ::= { swPortEntry 12 }

swPortAddressingSecurity OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Set to enabled(1) to effect addressing security.
                 Set to disabled(2) to leave the port unsecure
                 Addressing security cannot be enabled on a port
                 whose type is Network and doing so will result
                 in badValue."

        ::= { swPortEntry 13 }

swPortAddressTableSize OBJECT-TYPE
        SYNTAX  INTEGER (0..132)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "For secured Network port, the address table size can range
                 from 1 to 132.  For unsecured Network port, the size is
                 unrestricted (shown as the value zero) and is, therefore,
                 not settable.  Any attempt to violate these rules will
                 result in badValue."

        ::= { swPortEntry 14 }

swPortNumberOfLearnedAddresses OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The current number of dynamically learned addresses on
                 the port.  The initial value is zero."

        ::= { swPortEntry 15 }

swPortNumberOfStaticAddresses OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The current number of statically assigned unicast addresses on
                 the port.  The initial value is zero."

        ::= { swPortEntry 16 }

swPortEraseAddresses OBJECT-TYPE
        SYNTAX  INTEGER { noErase(1), erase(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Set to erase(2) to delete all learned and assigned static
                 unicast addresses the port currently has.  Setting the object
                 to noErase(1) has no effect.  This object always returns
                 noErase(1) when read."

        ::= { swPortEntry 17 }

swPortFloodUnregisteredMulticasts OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Set to enabled(1) to allow the forwarding to this port
                 frames addressed to multicast addresses that have
                 not been registered for the port.  Set to disabled(2) to
                 filter and discard such frames.  The default value is
                 enabled(1)."

        ::= { swPortEntry 18 }

swPortFloodUnknownUnicasts OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object controls the forwarding of unknown unicast
                 frames to this port.

                 When set to enabled(1) the switch, upon receiving a frame
                 with an unknown unicast destination address on another
                 port, will transmit the frame to this port.

                 When set to disabled(2), The switch will filter and
                 not transmit unknown unicast frames to this port.

                 The default value for this object is enabled(1)."

        ::= { swPortEntry 19 }

swPortMonitoring  OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Set to enabled(1) to forward receive and transmit frames
                on this port to the port identified by sysConfigMonitorPort.
                Set to disabled(2) to not monitor frame traffic on this port."

        ::= { swPortEntry 20 }

swPortSecuredAddressViolations OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number of times a source address was seen on this port
                which duplicates a secured address configured on another port,
                plus the number of times a source address was seen on
                this port which does not match any addresses secured
                for the port."

        ::= { swPortEntry 21 }

swPortLinkbeatStatus OBJECT-TYPE
        SYNTAX  INTEGER { linkbeat(1), noLinkbeat(2) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The current port linkbeat status."

        ::= { swPortEntry 22 }

swPortLinkbeatLosses OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number of times that the value of swPortLinkbeatStatus has
                changed from linkbeat to noLinkbeat."

        ::= { swPortEntry 23 }

swPortJabberStatus OBJECT-TYPE
        SYNTAX  INTEGER { notJabbering(1), jabbering(2) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The current jabber function result."

        ::= { swPortEntry 24 }

swPortJabbers     OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number of times that the jabber function has to be invoked
                 because a frame transmitted from this port exceeded a certain
                 time duration."

        ::= { swPortEntry 25 }

swPortClearStatistics OBJECT-TYPE
        SYNTAX  INTEGER { noClear(1), clear(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Set to clear(2) to zero out all statistics associated
                 with the port.  Per-port statistics are kept in this
                 swPortTable as well as in the swPortRxStatTable,
                 swPortTxStatTable, swPortTxCollTable, dot1dBasePortTable,
                 and dot1dTpPortTable.  Setting this object to noClear(1)
                 has no effect.  This object always returns noClear(1)
                 when read."

        ::= { swPortEntry 26 }

swPortBroadcastStormBlocked OBJECT-TYPE
    SYNTAX  INTEGER { notBlocked(1), blocked(2) }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
                "The current broadcast forwarding status of this port.
                 If this port is blocked by broadcast storm control, the
                 switch drops all broadcasts received from the port."
    ::= { swPortEntry 27 }

swPortSTPPortFastMode  OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object configures the port into the Spanning Tree
                port-fast mode. When enabled(1), the STP can transition
                the port's state directly from blocking to forwarding,
                and vice versa, without going through the intermediate
                listening and learning states.

                This object should only be enabled for a port that is
                connected to a single workstation. A port that is
                attached to a network segment with multiple network
                nodes or bridges should have this object set to disabled(2)
                since a temporary loop may occur when port changes state.

                If this object is enabled on a trunk port, or a port
                becomes a trunk port while this object has the enabled(1)
                value, the switch will ignore the configured value and
                operate the port as though its port-fast mode is disabled.
                If the port subsequently loses its trunking status, the
                configured fast-mode value will then take effect.

                The default value is enabled(1) for 10Mbps ports and
                disabled(2) for 100Mbps ports."

        ::= { swPortEntry 28 }

swPortHalfDuplexBackPressure OBJECT-TYPE
        SYNTAX          INTEGER { enabled(1), disabled(2) }
        ACCESS          read-write
        STATUS          obsolete
        DESCRIPTION
                "Back pressure allows a port to force a collision when there
                 is no buffer to receive frames. The port must be in half duplex
                 to benefit from this enhancement. If the port is operating
                 to be in full duplex, back pressure will not be applicable.

                 This object has been obsoleted and replaced with
                 sysConfigHalfDuplexBackPressure."

        ::= { swPortEntry 29 }

swPortDuplexStatus OBJECT-TYPE
        SYNTAX      INTEGER { full-duplex(1), half-duplex(2), full-duplex-flow-control(3) }
        ACCESS      read-only
        STATUS      mandatory
        DESCRIPTION
                "The status of duplex mode on this port. This shows
                 the result of full duplex auto-negotiation when
                 swPortFullDuplex is set to auto-negotiate."
        ::= { swPortEntry 30 }


swPortFullDuplexFlowControl OBJECT-TYPE
        SYNTAX          INTEGER { enabled(1), disabled(2) }
        ACCESS          read-write
        STATUS          obsolete
        DESCRIPTION
                "The configuration of flow control on this port.
                 Flow control allows the port to throttle packet
                 transmission according to flow control messages
                 sent by the other end of the link.

                 For ports that do not support the feature, this
                 object is always set to disabled and is read-only."
        ::= { swPortEntry 31 }

swPortEnhancedCongestionControl OBJECT-TYPE
        SYNTAX          INTEGER { adaptive(1), disabled(2),
                          moderate-aggressive(3), aggressive(4)}
        ACCESS  read-write
        STATUS          mandatory
        DESCRIPTION
                "Enhanced Congestion Control (ECC) reduces the transmit
                 back-off period to allow the port to transmit more quickly,
                 thereby reducing the transmit queue congestion
                 on the port. When set to disabled(2), ECC is disabled.
                 When set to adaptive(1), ECC is enabled when the port‘s
                 transmit queue is full. Set to moderate-aggressive(3)
                 to enable ECC with a back-off period that is divided by
                 a factor of 32. Set to aggressive(4) to enable ECC with
                 a back-off period that is divided by a factor of 1024.

                 The object is only applicable to 100Mbps ports of the
                 switch.

                 The default value is disabled(1)."
        ::= { swPortEntry 32 }

swPortBridgePriority OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION
                "This is the bridge port priority.

                 When a port is a non-trunk, the value of this object
                 is the same as dot1dStpPortPriority in RFC 1493 for
                 the port.

                 When a port is operating as a VLAN trunk, the port
                 may participate in multiple spanning trees, one for
                 each VLAN.  This port may use one of two priorities
                 in each instance of spanning tree operating on the
                 port. This object specifies one of two possible values
                 that can be used by as a bridge port priority for each
                 instance of spanning tree operating on a trunk port.
                 The alternate bridge port priority value is specified
                 by swPortBridgePriorityAlternate. The value of
                 dot1dStpPortPriority must be one of these two values."

        ::= { swPortEntry 33 }

swPortBridgePriorityAlternate OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS  read-write
        STATUS          mandatory
        DESCRIPTION
                "This object specifies the other priority that can be
                 used as the port priority for each instance of spanning
                 tree operating on a trunk port.   See the definition for
                 swPortBridgePriority."
        ::= { swPortEntry 34 }

swPortBridgePathCost OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
                "This is the bridge port path cost.

                 When a port is a non-trunk, the object's value is the
                 same as dot1dStpPortPathCost in RFC 1493 for the port.

                 When a port is operating as a VLAN trunk, the port
                 may participate in multiple spanning trees, one for
                 each VLAN.  This port may use one of two path cost
                 in each instance of spanning tree operating on the
                 port. This object specifies one of two possible values
                 that can be used by as a bridge port path cost for each
                 instance of spanning tree operating on a trunk port.
                 The alternate bridge port priority value is specified
                 by swPortBridgePathCostAlternate. The value of this object
                 must be greater or equal to the value of
                 swPortBridgePathCostAlternate. The value of
                 dot1dStpPortPathCost must be one of these two values."
        ::= { swPortEntry 35 }

swPortBridgePathCostAlternate OBJECT-TYPE
        SYNTAX INTEGER
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
                "This object specifies the other path cost that can be
                 used as the port path cost for each instance of spanning
                 tree operating on a trunk port.   The value of this object
                 must be less than or equal to the value of swPortBridgePriority.
                 See the definition for swPortBridgePriority."
        ::= { swPortEntry 36 }

swPortIfIndex    OBJECT-TYPE
        SYNTAX   INTEGER
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
                "This is the value of MIB-II ifIndex object
                 corresponding to this port."
        ::= { swPortEntry 37 }

swPortInternal   OBJECT-TYPE
        SYNTAX   INTEGER { true(1), false(2) }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
                "This indicates if the port is an internal port.
                 An internal port is one that does not allow
                 a direct physical connection to another device.
                 An example of an internal port is a switched port of
                 a slot with a repeater module."
        ::= { swPortEntry 38 }


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                The Switch Port Receive Statistics Table                |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


switchPortRxStatTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwPortRxStatEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A list of switch port Receive statistics entries."

        ::= { port 2 }

swPortRxStatEntry OBJECT-TYPE
        SYNTAX  SwPortRxStatEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Receive statistics for an individually switched port."
        INDEX   { swPortRxStatIndex }
        ::= { switchPortRxStatTable 1 }

SwPortRxStatEntry ::=
        SEQUENCE {
                swPortRxStatIndex
                        INTEGER,
                swPortRxTotalFrames
                        Counter,
                swPortRxTotalOctets
                        Counter,
                swPortRxTotalOctetsWraps
                        Counter,
                swPortRxUnicastFrames
                        Counter,
                swPortRxUnicastOctets
                        Counter,
                swPortRxUnicastOctetsWraps
                        Counter,
                swPortRxBroadcastFrames
                        Counter,
                swPortRxBroadcastOctets
                        Counter,
                swPortRxBroadcastOctetsWraps
                        Counter,
                swPortRxMulticastFrames
                        Counter,
                swPortRxMulticastOctets
                        Counter,
                swPortRxMulticastOctetsWraps
                        Counter,
                swPortRxForwardedFrames
                        Counter,
                swPortRxFilteredFrames
                        Counter,
                swPortRxNoBufferDiscards
                        Counter,
                swPortRxFCSErrors
                        Counter,
                swPortRxAlignmentErrors
                        Counter,
                swPortRxFrameTooLongs
                        Counter,
                swPortRxRunts
                        Counter
        }

swPortRxStatIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A number greater than zero identifying an individually
                switched port.  The same value of a port index variable
                for any of the port tables in this MIB group selects
                the same port."

        ::= { swPortRxStatEntry 1 }

swPortRxTotalFrames  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of all frames that are successfully received.
                 This does not include frames received with frame-too-long,
                 FCS, length or alignment errors, or frames lost due to
                 internal MAC sublayer error."

        ::= { swPortRxStatEntry 2 }

swPortRxTotalOctets  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of data and padding octets in all octets that are
                 successfully received.  This does not include octets in
                 frames received with frame-too-long, FCS, length or
                 alignment errors, or frames lost due to internal MAC
                 sublayer error."

        ::= { swPortRxStatEntry 3 }

swPortRxTotalOctetsWraps OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of times the value in swPortRxTotalOctets has
                 rolled to zero."

        ::= { swPortRxStatEntry 4 }

swPortRxUnicastFrames  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames that are successfully received and
                 are directed to a unicast address.  This does not
                 include frames received with frame-too-long,
                 FCS, length or alignment errors, or frames lost due to
                 internal MAC sublayer error."

        ::= { swPortRxStatEntry 5 }

swPortRxUnicastOctets  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of data and padding octets in unicast frames that are
                 successfully received.  This does not include octets in
                 frames received with frame-too-long, FCS, length or
                 alignment errors, or frames lost due to internal MAC
                 sublayer error."

        ::= { swPortRxStatEntry 6 }

swPortRxUnicastOctetsWraps OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of times the value in swPortRxUnicastOctets has
                 rolled to zero."

        ::= { swPortRxStatEntry 7 }

swPortRxBroadcastFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames that are successfully received and are
                 directed to the broadcast address.  This does not
                 include frames received with frame-too-long, FCS,
                 length or alignment errors, or frames lost due to
                 internal MAC sublayer error."

        ::= { swPortRxStatEntry 8 }

swPortRxBroadcastOctets  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of data and padding octets in broadcast frames that
                 are successfully received.  This does not include octets in
                 frames received with frame-too-long, FCS, length or
                 alignment errors, or frames lost due to internal MAC
                 sublayer error."

        ::= { swPortRxStatEntry 9 }

swPortRxBroadcastOctetsWraps OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of times the value in swPortRxBroadcastOctets has
                 rolled to zero."

        ::= { swPortRxStatEntry 10 }

swPortRxMulticastFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames that are successfully received and are
                 directed to a multicast address.  This does not
                 include frames received with frame-too-long, FCS,
                 length or alignment errors, or frames lost due to
                 internal MAC sublayer error."

        ::= { swPortRxStatEntry 11 }

swPortRxMulticastOctets  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of data and padding octets in multicast frames that
                 are successfully received.  This does not include octets in
                 frames received with frame-too-long, FCS, length or
                 alignment errors, or frames lost due to internal MAC
                 sublayer error."

        ::= { swPortRxStatEntry 12 }

swPortRxMulticastOctetsWraps OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of times the value in swPortRxMulticastOctets has
                 rolled to zero."

        ::= { swPortRxStatEntry 13 }

swPortRxForwardedFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Count of frames received and forwarded to some other port(s)
                for transmission."

        ::= { swPortRxStatEntry 14 }

swPortRxFilteredFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames received that were discarded because
                 1) the frames were local to the segment, 2) no destination
                 address matches could be found and no ports were set
                 up to accept such frames, 3) the destination addresses
                 matched but source port explicit information prevented
                 their forwarding, 4) the destination addresses matched
                 but no destination ports have been specified for them,
                 5) the destinations were non-registered multicasts and no
                 ports were configured to accept them."

        ::= { swPortRxStatEntry 15 }

swPortRxNoBufferDiscards OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames received that were discarded due
                to a lack of frame buffer resources in the
                                switch's forwarding engine."

        ::= { swPortRxStatEntry 16 }

swPortRxFCSErrors   OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames received that are an integral number
                of octets in length but do not pass the Frame Check
                Sequence test."

        ::= { swPortRxStatEntry 17 }

swPortRxAlignmentErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames received that are not an integral
                number of octets in length and do not pass the Frame
                Check Sequence test."

        ::= { swPortRxStatEntry 18 }

swPortRxFrameTooLongs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames received that exceed the maximum
                permitted frame size as defined by the corresponding
                portMtu object."

        ::= { swPortRxStatEntry 19 }

swPortRxRunts       OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames received that are shorter than the
                minimum permitted frame size.  Runts usually indicate
                collision fragments, a normal network event."

        ::= { swPortRxStatEntry 20 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                The Switch Port Transmit Statistics Table               |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


switchPortTxStatTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwPortTxStatEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A list of switch port Transmit statistics entries."

        ::= { port 3 }

swPortTxStatEntry OBJECT-TYPE
        SYNTAX  SwPortTxStatEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Transmit statistics for an individually switched port."
        INDEX   { swPortTxStatIndex }
        ::= { switchPortTxStatTable 1 }

SwPortTxStatEntry ::=
        SEQUENCE {
                swPortTxStatIndex
                        INTEGER,
                swPortTxTotalFrames
                        Counter,
                swPortTxTotalOctets
                        Counter,
                swPortTxTotalOctetsWraps
                        Counter,
                swPortTxUnicastFrames
                        Counter,
                swPortTxUnicastOctets
                        Counter,
                swPortTxUnicastOctetsWraps
                        Counter,
                swPortTxBroadcastFrames
                        Counter,
                swPortTxBroadcastOctets
                        Counter,
                swPortTxBroadcastOctetsWraps
                        Counter,
                swPortTxMulticastFrames
                        Counter,
                swPortTxMulticastOctets
                        Counter,
                swPortTxMulticastOctetsWraps
                        Counter,
                swPortTxDeferrals
                        Counter,
                swPortTxSingleCollisions
                        Counter,
                swPortTxMultipleCollisions
                        Counter,
                swPortTxLateCollisions
                        Counter,
                swPortTxExcessiveCollisions
                        Counter,
                swPortTxExcessiveDeferrals
                        Counter,
                swPortTxExcessiveCollision16s
                        Counter,
                swPortTxExcessiveCollision4s
                        Counter,
                swPortTxQueueFullDiscards
                        Counter,
                swPortTxErrors
                        Counter
        }

swPortTxStatIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A number greater than zero identifying an individually
                switched port.  The same value of a port index variable
                for any of the port table in this MIB group selects
                the same port."

        ::= { swPortTxStatEntry 1 }

swPortTxTotalFrames  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of all frames that are successfully transmitted."

        ::= { swPortTxStatEntry 2 }

swPortTxTotalOctets  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of data and padding octets in all frames that are
                 successfully transmitted."

        ::= { swPortTxStatEntry 3 }

swPortTxTotalOctetsWraps OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of times the value in swPortTxTotalOctets has
                 rolled to zero."

        ::= { swPortTxStatEntry 4 }

swPortTxUnicastFrames  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames that are successfully transmitted and
                 are directed to a unicast address."

        ::= { swPortTxStatEntry 5 }

swPortTxUnicastOctets  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of data and padding octets in unicast frames that are
                 successfully transmitted."

        ::= { swPortTxStatEntry 6 }

swPortTxUnicastOctetsWraps OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of times the value in swPortTxUnicastOctets has
                 rolled to zero."

        ::= { swPortTxStatEntry 7 }

swPortTxBroadcastFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames that are successfully transmitted and are
                 directed to the broadcast address."

        ::= { swPortTxStatEntry 8 }

swPortTxBroadcastOctets  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of data and padding octets in broadcast frames that
                 are successfully transmitted."

        ::= { swPortTxStatEntry 9 }

swPortTxBroadcastOctetsWraps OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of times the value in swPortTxBroadcastOctets has
                 rolled to zero."

        ::= { swPortTxStatEntry 10 }

swPortTxMulticastFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames that are successfully transmitted and are
                 directed to a multicast address."

        ::= { swPortTxStatEntry 11 }

swPortTxMulticastOctets  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of data and padding octets in multicast frames that
                 are successfully transmitted."

        ::= { swPortTxStatEntry 12 }

swPortTxMulticastOctetsWraps OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of times the value in swPortTxMulticastOctets has
                 rolled to zero."

        ::= { swPortTxStatEntry 13 }

swPortTxDeferrals OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames for which the first transmission
                attempt is delayed because the medium is busy."

        ::= { swPortTxStatEntry 14 }

swPortTxSingleCollisions OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of successfully transmitted frames for which
                transmission is inhibited by exactly one collision."

        ::= { swPortTxStatEntry 15 }

swPortTxMultipleCollisions OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of successfully transmitted frames for which
                transmission is inhibited by more than one collision."

        ::= { swPortTxStatEntry 16 }

swPortTxLateCollisions OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of times that a collision is detected later
                than 512 bit-times into the transmission of a frame.  A
                late collision is also considered as a (generic) collision
                for purposes of other collision-related statistics."

        ::= { swPortTxStatEntry 17 }

swPortTxExcessiveCollisions OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames for which transmission fails due to
                excessive collisions.  The threshold is either 16 in
                the normal mode of operation, or 4 in the
                Enhanced Congestion Control (ECC) mode.  Thus,
                this count is the sum of the corresponding instances of
                the swPortTxExcessiveCollision16s object,
                and the swPortTxExcessiveCollision4s object."

        ::= { swPortTxStatEntry 18 }

swPortTxExcessiveDeferrals OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames for which transmission is deferred
                for an excessive period of time."

        ::= { swPortTxStatEntry 19 }

swPortTxExcessiveCollision16s OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames that due to excessive collisions are
                 not transmitted successfully.  Here, the normal threshold
                 of 16 collisions is used to determine the status of the
                 transmission.  A swPortTxExcessiveCollision16s is counted
                 twice, i.e., both as a swPortTxExcessiveCollision16s and
                 as a swPortTxExcessiveCollisions."

        ::= { swPortTxStatEntry 20 }

swPortTxExcessiveCollision4s OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames that due to excessive collisions are not
                 transmitted successfully.  Here, the Enhanced Congestion
                 Control threshold of 4 collisions is used to determine the
                 status of the transmission.  A swPortTxExcessiveCollision4s is
                 counted twice, i.e., both as a swPortTxExcessiveCollision4s
                 and as a swPortTxExcessiveCollisions."

        ::= { swPortTxStatEntry 21 }

swPortTxQueueFullDiscards OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames that cannot be transmitted because the
                 transmit queue for the port is full."

        ::= { swPortTxStatEntry 22 }

swPortTxErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames for which transmission fails due
                to an internal MAC sublayer transmit error.  A frame is
                only counted by an instance of this object if it is not
                counted by the corresponding instance of either
                the swPortTxLateCollisions object,
                the swPortTxExcessiveCollisions object,
                the swPortTxExcessiveCollision16s object,
                the swPortTxExcessiveCollision4s object,
                or the swPortTxExcessiveDeferrals object."

        ::= { swPortTxStatEntry 23 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--           The Switch Port Collision Histogram Table                    |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


switchPortTxCollTable   OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwPortTxCollEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A collection of collision histograms for the switch ports."

        ::= { port 4 }

swPortTxCollEntry      OBJECT-TYPE
        SYNTAX  SwPortTxCollEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "This table provides a per port histogram of collision
                 activity.  The swPortTxCollIndex index (1 to
                 sysInfoNumberOfSwitchPorts) identifies an individually
                 switched port, and the swPortTxCollCount index (1 to 16)
                 denotes the number of collisions experienced in transmitting
                 a frame.  Each table element, then, contains a counter
                 that denotes the number of frames that have
                 experienced a specific number of collisions."

        INDEX   { swPortTxCollIndex, swPortTxCollCount }
        ::= { switchPortTxCollTable 1 }

SwPortTxCollEntry ::=
        SEQUENCE {
                swPortTxCollIndex
                        INTEGER,
                swPortTxCollCount
                        INTEGER,
                swPortTxCollFrequencies
                        Counter
        }

swPortTxCollIndex   OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A number greater than zero identifying an individually
                switched port.  The same value of a port index variable
                for any of the port tables in this MIB group selects
                the same port."
        ::= { swPortTxCollEntry 1 }

swPortTxCollCount   OBJECT-TYPE
        SYNTAX  INTEGER (1..16)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of per-frame media collisions for which a
                particular collision histogram cell represents the
                frequency on a particular port."
        ::= { swPortTxCollEntry 2 }

swPortTxCollFrequencies OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A count of frames for which the transmission (successful
                or otherwise) on a particular port is accompanied by a
                particular number of media collisions."
        ::= { swPortTxCollEntry 3 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                       The Management Group                             |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


netMgmtIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The switch's administrative IP address.  The
                 switch may automatically discover a value for this object
                 using the BootStrap protocol (BOOTP).  The object value is
                 also duplicated in the MIB-II ipAddrTable.

                 The following applies to switches operating with
                 firmware version smaller than 6.00:

                     When VLANs are present, The switch may be configured
                     with up to 4 administrative IP addresses, one per VLAN.
                     This object, in this case, configures the IP address
                     for the first VLAN.  See the object vlanTable for
                     how to configure the other IP addresses.

                     Assigning multiple VLAN IP addresses is only necessary
                     if the VLANs in use represent separate physical IP subnets.
                     This allows a management station residing on a VLAN to
                     directly manage the switch without the need for an
                     intervening router/gateway.
                 A write to this object will take effect immediately,
                 replacing the previous address, if any."

        ::= { netMgmt 1 }

netMgmtIpSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The switch's administrative IP subnet mask.  The
                 switch may automatically discover a value for this object
                 using the BootStrap protocol (BOOTP).  The object value is
                 also duplicated in the MIB-II ipAddrTable.

                 The following applies to switches operating with
                 firmware version smaller than 6.00:

                     When VLANs are present, The switch may be configured
                     with up to 4 administrative IP subnet masks, one per VLAN.
                     This object, in this case, configures the subnet mask
                     for the first VLAN.  See the object vlanTable for
                     how to configure the other subnet masks.

                     Assigning multiple VLAN subnet masks is only necessary
                     if the VLANs in use represent separate physical IP subnets.

                 A write to this value will take effect immediately.  The
                 default value is 0.0.0.0, or no subnet mask."

         ::= { netMgmt 2 }

netMgmtDefaultGateway OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The default gateway IP address is the address of the next
                 hop router the switch uses to reach a non-local IP
                 host when the switch does not know the return route. During
                 a normal management protocol exchange with an IP client
                 host, the switch simply sends its response onto the same
                 route from which the request was received.  The default
                 gateway route is only used when the switch itself
                 initiates an exchange, e.g., a TFTP upgrade, with the client.

                 The default gateway IP address is global to all VLANs,
                 which is unlike the unique per-VLAN management IP address
                 and subnet mask.

                 A write to this object will take effect immediately,
                 replacing the previous address, if any.  The default is
                 0.0.0.0, or no address."

        ::= { netMgmt 3 }

netMgmtEnableAuthenTraps OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),     -- enable  authentication traps
                disabled(2)     -- disable authentication traps
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the switch is permitted
                 to generate authenticationFailure traps.
                 The value of this object overrides any
                 configuration information; as such, it provides a
                 means whereby all authenticationFailure traps may
                 be disabled.

                 This object manipulates the same value for the
                 snmpEnableAuthenTraps object instance.  The object
                 is respecified in this group for convenience.  The
                 default value is enabled(1)."

        ::= { netMgmt 4 }

netMgmtEnableLinkTraps OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),     -- enable  linkUp/linkDown traps
                disabled(2)     -- disable linkUp/linkDown traps
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the switch is permitted
                 to generate linkUp/linkDown traps.
                 The value of this object overrides any configuration
                 information; as such, it provides a means whereby all
                 linkUp/linkDown traps may be disabled.  The default
                 value is enabled(1)."

        ::= { netMgmt 5 }

netMgmtConsoleInactTime OBJECT-TYPE
        SYNTAX  INTEGER (0..65500)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The number of seconds of Management Console session
                inactivity to wait before ending the session.  Once a
                session has ended, the user must resupply the Console
                password to regain access.  A value of 0 indicates no
                timeout, and is the default value."

        ::= { netMgmt 6 }

netMgmtConsolePasswordThresh OBJECT-TYPE
        SYNTAX  INTEGER (0..65500)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The number of consecutive invalid password attempts
                 allowed before the Management Console is shut down
                 (kept silent) for a configured duration.  A zero value
                 permits unlimited attempts.  The default value is 3."

        ::= { netMgmt 7 }

netMgmtConsoleSilentTime OBJECT-TYPE
        SYNTAX  INTEGER (0..65500)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The number of minutes during which the Management
                 Console will be unavailable after repeated failed
                 attempts to logon.  A zero value specifies no silent
                 time, and is the default value."

        ::= { netMgmt 8 }

netMgmtModemInitString OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..48))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This is the initialization string used to configure an
                 attached modem.  Specify this string if the modem is not
                 Hayes compatible.  Only the initialization commands need
                 to be specified (i.e., do NOT specify any modem prefix
                 string such as the AT attention sequence, or any suffix
                 such as the CR character).

                 This string takes effect after every line hangup."

        ::= { netMgmt 9 }

netMgmtModemDialString OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..48))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This string contains a phone number which is used to
                 establish a modem connection with a remote site.  Only
                 the phone number needs to be specified (i.e., do NOT
                 specify any dial prefix string such as ATDT).

                 Leave this string empty if this dial-out capability is
                 not desired.  This string takes effect after every line
                 hangup."

        ::= { netMgmt 10 }

netMgmtModemDialDelay OBJECT-TYPE
        SYNTAX  INTEGER (0..65500)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object specifies a delay in seconds between every
                 dial-out failure.  The value zero indicates an infinite
                 delay.  Normally, the switch will attempt a dial-out
                 if the netMgmtModemDialString object is non-empty.  If the
                 remote site then fails to answer, and auto-answer has
                 been disabled on this system, the system will retry the
                 dial-out attempt after this delay has passed.

                 If auto-answer is enabled and the first dial-out attempt
                 fails, the system will stop further dial-out attempts and
                 immediately go into auto-answer mode.  The default value
                 is 300 seconds, or 5 minutes."

        ::= { netMgmt 11 }

netMgmtModemAutoAnswer OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),   -- enable  modem auto-answer mode
                disabled(2)   -- disable modem auto-answer mode
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object specifies whether the system should be in
                 auto-answer mode and only accepts incoming calls.  Note
                 that the system will always attempt a dial-out first
                 if the netMgmtModemDialString object is non-empty.  The
                 default value is enabled(1)."

        ::= { netMgmt 12 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                       The Set Client Table                             |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

netMgmtSetClientTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF NetMgmtSetClientEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Table (4 entries) containing a list of IP addresses or DNS
                name of workstations permitted to issue SET requests.  Such a
                workstation is called a Set client.  If this table is
                empty then any SET request with a matching SET community
                string is allowed.  If at least one Set client is specified,
                then an incoming SET request must have its source IP
                address or name matched against an entry in this table before the
                SET is allowed.

                An Set client entry whose IP address is 0.0.0.0 is considered
                invalid and will be ignored.

                This table is considered empty when all Set client
                addresses are zeroes (0.0.0.0). and DNS names are empty"

        ::= { netMgmt 13 }

netMgmtSetClientEntry OBJECT-TYPE
        SYNTAX  NetMgmtSetClientEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "An IP address of a manager station allowed to issue
                 SET requests to this management agent."
        INDEX   { netMgmtSetClientIndex }
        ::= { netMgmtSetClientTable 1 }

NetMgmtSetClientEntry ::= SEQUENCE {
        netMgmtSetClientIndex
                INTEGER,
        netMgmtSetClientAddr
                IpAddress,
        netMgmtSetClientStatus
                INTEGER,
        netMgmtSetClientName
                DisplayString
        }

netMgmtSetClientIndex OBJECT-TYPE
        SYNTAX INTEGER (1..4)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Identification of a SET client entry."

        ::= { netMgmtSetClientEntry 1 }


netMgmtSetClientAddr OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The SET client is assumed to be Internet UDP/IP based.
                 And this is the client's IP address. Setting this object
                 will cause the value in the corresponding netMgmtSetClientName
                 object to cleared."

        ::= { netMgmtSetClientEntry 2 }

netMgmtSetClientStatus OBJECT-TYPE
        SYNTAX  INTEGER  { other(1), invalid(2), permanent(3)  }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Setting this object to the value invalid(2) has the effect
                 of invalidating the corresponding entry.  That is, it
                 effectively disassociates the IP address identified with
                 said entry from the table.  It is an implementation
                 specific matter as to whether the agent removes an
                 invalidated entry from the table.  Accordingly, management
                 stations must be prepared to receive tabular information
                 from agents that corresponds to entries not currently in use."

        ::= { netMgmtSetClientEntry 3 }

netMgmtSetClientName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..30))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The Set Client's DNS host name. The switch will resolve the
                 host name to IP address via DNS and copy the resolved IP
                 address into netMgmtSetClientAddr object. Therefore the
                 value of this object overwrites any value in netMgmtSetClientAddr.
                 If netMgmtSetClientAddr is set then value of this object
                 will be cleared."

        ::= { netMgmtSetClientEntry 4 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                       The Trap Client Table                            |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

netMgmtTrapClientTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF NetMgmtTrapClientEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Table (4 entries) containing a list of Network Management
                 Stations that are to receive traps generated by this
                 Network Management Agent.  Such an NMS is called a
                 Trap client.

                 An Trap client entry whose IP address is 0.0.0.0 and DNS name
                 is empty is considered invalid and will be ignored."

        ::= { netMgmt 14 }

netMgmtTrapClientEntry OBJECT-TYPE
        SYNTAX  NetMgmtTrapClientEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A destination address and community string to a particular
                 trap client."
        INDEX   { netMgmtTrapClientIndex }
        ::= { netMgmtTrapClientTable 1 }

NetMgmtTrapClientEntry ::= SEQUENCE {
        netMgmtTrapClientIndex
                INTEGER,
        netMgmtTrapClientAddr
                IpAddress,
        netMgmtTrapClientComm
                DisplayString,
        netMgmtTrapClientStatus
                INTEGER,
        netMgmtTrapClientName
                DisplayString
        }

netMgmtTrapClientIndex OBJECT-TYPE
        SYNTAX INTEGER (1..4)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
                "Identification of a trap client entry."

        ::= { netMgmtTrapClientEntry 1 }

netMgmtTrapClientAddr OBJECT-TYPE
        SYNTAX IpAddress
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The trap client is assumed to be Internet UDP/IP based.
                 And this is the client's IP address. Setting a value for
                 this object will cause the value of netMgmtTrapClientName
                 to be cleared (set to null string)."

        ::= { netMgmtTrapClientEntry 2 }

netMgmtTrapClientComm OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Community string used for traps sent to this trap client."

        ::= { netMgmtTrapClientEntry 3 }

netMgmtTrapClientStatus OBJECT-TYPE
        SYNTAX  INTEGER  { other(1), invalid(2), permanent(3)  }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Setting this object to the value invalid(2) has the effect
                 of invalidating the corresponding entry.  That is, it
                 effectively disassociates the IP address/community string
                 identified with said entry from the table.  It is an
                 implementation specific matter as to whether the agent
                 removes an invalidated entry from the table.  Accordingly,
                 management stations must be prepared to receive tabular
                 information from agents that corresponds to entries not
                 currently in use."

        ::= { netMgmtTrapClientEntry 4 }

netMgmtTrapClientName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..30))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The Trap Client's DNS host name. The switch will resolve the
                 host name to an IP address via DNS and copy the resolved IP
                 address into netMgmtTrapClientAddr object. If
                 netMgmtTrapClientAddr is set the value of this object
                 will be cleared (set to null string)."

        ::= { netMgmtTrapClientEntry 5 }


netMgmtCdpHoldTime OBJECT-TYPE
        SYNTAX INTEGER(5..255)
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The hold time is the amount of time that a neighboring device
                 keeps the CDP neighbor information received from this switch.
                 If the hold time expires before receiving a new CDP message
                 from this switch then the neighbor device will remove this
                 switch as a neighbor.

                 The default value is 180 seconds."

        ::= { netMgmt 15 }

netMgmtCdpTransmissionTime OBJECT-TYPE
        SYNTAX INTEGER(5..900)
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "The transmission time specifies the interval that the switch
                 will trasnmit CDP messages from its ports.

                 The default value is 60 seconds. "

        ::= { netMgmt 16 }

netMgmtCgmpEnable OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),     -- enable  CGMP
                disabled(2)     -- disable CGMP
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This variable allows user to enable or disable Cisco
                 Group Management Protocol (CGMP). Enabling CGMP will
                 result in the deletion of all multicast addresses of form
                 0x01-00-5E-XX-XX-XX, that may have been registered on the
                 switch.  The default value is enabled(1)."

        ::= { netMgmt 17 }

netMgmtCgmpRouterHoldTime OBJECT-TYPE
        SYNTAX INTEGER(5..900)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Multicast routers that support CGMP will send CGMP
                 join message to advertise themselves to switches within
                 a network. A switch that receives a CGMP message will save
                 the information and set a timer equal to the router hold
                 time. When the last router hold time expires, the switch will
                 remove all IP multicast groups learned from CGMP.

                 The default value is 600 seconds."
        ::= { netMgmt 18 }

netMgmtVlan OBJECT-TYPE
        SYNTAX  INTEGER(1..1023)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                " The current VLAN for network management. This defaults
                  to 1."
                ::= {netMgmt 19 }

netMgmtEnableRIP OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object enables and disables Routing Information
                 Protocol (RIP) listener to automatically discover
                 IP gateways. The default value is enabled(1)."

        ::= { netMgmt 20 }

netMgmtDomainServer1IpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The IP address of a Domain Name Server (DNS) which the system
                 uses to resolve domain names to IP addresses. A set on this
                 object takes effect the next time the system has to resolve a
                 domain name. A value of all zeroes (0.0.0.0) specifies no
                 domain server."

        ::= { netMgmt 21 }

netMgmtDomainServer2IpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The IP address of a second Domain Name Server (DNS) which
                 the system uses to resolve domain names to IP addresses. A set
                 on this object takes effect the next time the system needs to
                 resolve a domain name. A value of all zeroes (0.0.0.0) specifies
                 no domain name server."
        ::= { netMgmt 22 }

netMgmtDefaultSearchDomain OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..63))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "A string of up to 63 characters specifying a default domain
                 search path. When switch needs to resolve a domain name
                 that is not fully specified, it appends this default domain
                 path to the name and continues the resolution attempt."

        ::= { netMgmt 23 }

netMgmtHttpServerAdminState OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This variable enables or disables the HTTP server
                 interface. The default value is enabled(1)."

        ::= { netMgmt 24 }

netMgmtHttpPort OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This variable allows the user to configure a specific port
                 on which the HTTP server will listen for TCP connections.
                 By default, the server listens on TCP port 80."
        ::= { netMgmt 25}

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                       The Upgrade Group                                |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


upgradeFirmwareSource OBJECT-TYPE
        SYNTAX  INTEGER { eprom(1), flash(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Selects the source from which firmware is read.  There are 2
                 possible values, eprom(1) and flash(2).  A valid selection
                 will cause a system reset, followed by the execution of the
                 selected firmware.  The default selection is eprom(1).
                 A valid selection is defined as:

                 o a selection which yields a firmware that is
                   different from the one currently executing, or

                 o selection of flash(2), for which flash memory is available
                   and contains a checksum verified firmware."

        ::= { upgrade 1 }

upgradeEPROMRevision OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..8))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Returns the revision number of the switch system
                 firmware residing in EPROM.  The string has the following
                 format 'V2.01'."

        ::= { upgrade 2 }

upgradeFlashSize OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The size of available FLASH memory in the system,
                in kilobytes.  For example: 128 equals 131072 bytes
                (128 bytes times 1024)."

        ::= { upgrade 3 }

upgradeFlashBankStatus OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..80))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Text string indicating status and version of last upgrade
                to flash memory, including the source of the upgrade,
                version and the date and time of upgrade.  The string is in
                net ASCII and conforms exactly to one of the following format,
                depending upon the source of the upgrade:

                V2.01 written on Mon Sep 21 07:02:01 1992 from serial terminal: valid

                or

                V2.01 written on Tue Dec 01 15:19:15 1992 from 192.009.200.200: invalid"

        ::= { upgrade 4 }

upgradeTFTPServerAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The IP address of a TFTP server from which a firmware
                 image can be downloaded.  The download may be initiated
                 by setting the upgradeTFTPInitiate to upgrade(1), or via
                 an out-of-band management action.  The default value is
                 0.0.0.0, or no address. Setting this object also sets
                 the value of upgradeTFTPServerName to a string of the same
                 value as this object."

        ::= { upgrade 5 }

upgradeTFTPLoadFilename OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..80))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The name of the file containing a firmware upgrade
                 image on the host whose address is given by
                 upgradeTFTPServerAddress.  The default value is
                 an empty string, or no filename."

        ::= { upgrade 6 }

upgradeTFTPInitiate OBJECT-TYPE
        SYNTAX  INTEGER { upgrade(1), noUpgrade(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Setting this object to noUpgrade(2) results in no action.
                 When set to upgrade(1), the switch will attempt
                 to download a firmware upgrade image from the server whose
                 address is given by upgradeTFTPServerAddress.  The image is
                 found in the file whose name is given by
                 upgradeTFTPLoadFilename.  Both upgradeTFTPServerAddress and
                 upgradeTFTPLoadFilename must be non-empty for the upgrade
                 to proceed.

                 This object always returns noUpgrade(2) when read."

        ::= { upgrade 7 }

upgradeAutoExecute OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether a newly upgraded firmware version
                 should immediately be selected for execution.  When
                 this object is disabled(2), the user must explicitly
                 set the upgradeFirmwareSource object to select and run
                 a particular firmware version after an upgrade.

                 When this object is enabled(1), following a successful
                 firmware upgrade the system will automatically switch
                 to run the new firmware.  The default value is enabled(1)."

        ::= { upgrade 8 }

upgradeTFTPAccept OBJECT-TYPE
        SYNTAX INTEGER {
                enabled(1),   -- enable  the TFTP Upgrade Listener
                disabled(2)   -- disable the TFTP Upgrade Listener
                }
        ACCESS read-write
        STATUS mandatory
        DESCRIPTION
                "This object controls the second method of firmware
                 upgrade using TFTP.  The switch has a UDP
                 Listener on the well known TFTP server port, and can
                 accept upgrade requests from any workstation with Internet
                 Protocol TFTP software.

                 This object enables or disables the TFTP Upgrade Listener.
                 When disabled(2), no TFTP workstations can download
                 a firmware upgrade image to the switch.  The default value
                 is enabled(1)."

        ::= { upgrade 9 }

upgradeTFTPServerName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..30))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The name of a TFTP server DNS name from which a firmware
                 image can be downloaded. The download may be initiated
                 by setting the upgradeTFTPInitiate to upgrade(1), or via
                 an out-of-band management action. The value of this object
                 is the same as the value of sysConfigTftpServerName.

                 The value of upgradeTFTPServerAddress object is set to zero
                 when this object is set."

        ::= { upgrade 10 }


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                       The VLAN Group                                   |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

vlanMaxSupported OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The maximum number of virtual LANs supported."

        ::= { vlan 1 }

vlanAllowMembershipOverlap OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  deprecated
        DESCRIPTION
                "When set to enabled(1), the switch will allow a port
                 to be member of more than one VLAN.  Note that overlapped
                 VLANs may lead to loss of connectivity in the Spanning
                 Tree topology, and should only be used with caution.

                 When set to disabled(2), the switch will ensure that
                 no one port can simultaneously be member of more than one
                 VLAN.

                 This object is not supported by switches operating
                 with firmware version greater than or equal to 6.00.

                 The default value is disabled(2)."

        ::= { vlan 2 }

vlanTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF VlanEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A list of configuration entries for a VLAN."

        ::= { vlan 3 }

vlanEntry OBJECT-TYPE
        SYNTAX  VlanEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Configuration parameters for a VLAN."
        INDEX   { vlanIndex }

        ::= { vlanTable 1 }

VlanEntry ::=
        SEQUENCE {
                vlanIndex
                        INTEGER,
                vlanName
                        DisplayString,
                vlanMemberPorts
                        OCTET STRING,
                vlanIpAddress
                        IpAddress,
                vlanIpSubnetMask
                        IpAddress,
                vlanBridgeTemplate
                        INTEGER,
                vlanStpAdmin
                        INTEGER
        }

vlanIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number from 1 to vlanMaxSupported identifying a
                configurable VLAN."

        ::= { vlanEntry 1 }

vlanName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..60))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "A descriptive string of up to 60 characters used by the
                 network administrator to name a VLAN.

                 This object is not supported by switches operating
                 with firmware version greater than or equal to 6.00"

        ::= { vlanEntry 2 }

vlanMemberPorts OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The set of the switch's member ports for the VLAN.
                 A port may reside within multiple VLANs only if
                 the object vlanAllowMembershipOverlap has been set
                 to enabled.

                 This object cannot be used to configure VLAN
                 membership.  The table vlanMemberTable is used
                 for that purpose.

                 Each octet within the value of this object specifies a
                 set of eight ports, with the first octet specifying ports
                 1 through 8, the second octet specifying ports 9
                 through 16, etc.   Within each octet, the most
                 significant bit represents the lowest numbered
                 port, and the least significant bit represents the
                 highest numbered port.  Thus, each port of the
                 VLAN is represented by a single bit within the
                 value of this object.  If that bit has a value of
                 '1' then that port is included in the set of
                 ports; the port is not included if its bit has a
                 value of '0'.

                 Initially, a single VLAN with all ports as its
                 members is defined.

                 This object is not supported by switches operating
                 with firmware version greater than or equal to 6.00"

        ::= { vlanEntry 3 }

vlanIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The switch's administrative IP address in this VLAN.
                 Note that once a value has been set for this object, the
                 next write will only take effect after a system reset.
                 The default value is the same as the address contained in
                 netMgmtIpAddress.

                 This object is not supported by switches operating
                 with firmware version greater than or equal to 5.35"

        ::= { vlanEntry 4 }

vlanIpSubnetMask OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The switch's administrative IP subnet mask in this
                 VLAN.  A change in the subnet mask at any
                 time will immediately take effect.  The default value
                 is the same as the mask contained in netMgmtIpSubnetMask.

                 This object is not supported by switches operating
                 with firmware version greater than or equal to 5.35"

        ::= { vlanEntry 5 }

vlanBridgeTemplate OBJECT-TYPE
        SYNTAX      INTEGER
        ACCESS      read-write
        STATUS      mandatory
        DESCRIPTION
                "The bridge parameter template used by the VLAN. By default,
                 a VLAN uses template 1. The value of this object must be
                 one of the values of bridgeTemplateIndex.

                 This object is supported only by switches operating
                 with firmware version greater than or equal to 7.00"

        ::= { vlanEntry 6 }

vlanStpAdmin OBJECT-TYPE
        SYNTAX      INTEGER { enabled(1), disabled(2) }
        ACCESS      read-write
        STATUS      mandatory
        DESCRIPTION
                "This object indicates if STP is enabled or disabled for the
                 VLAN.

                 This object is supported only by switches operating
                 with firmware version greater than or equal to 7.00"

        ::= { vlanEntry 7 }

vlanMemberTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF VlanMemberEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A list of port membership configuration entries for a VLAN."

        ::= { vlan 4 }

vlanMemberEntry OBJECT-TYPE
        SYNTAX  VlanMemberEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Port membership configuration parameters for a VLAN."
        INDEX   { vlanMemberIndex, vlanMemberPortIndex }

        ::= { vlanMemberTable 1 }

VlanMemberEntry ::=
        SEQUENCE {
                vlanMemberIndex
                        INTEGER,
                vlanMemberPortIndex
                        INTEGER,
                vlanMemberPortOfVlan
                        INTEGER
        }

vlanMemberIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number from 1 to vlanMaxSupported identifying a
                configurable VLAN.   The same value of a VLAN index
                variable for any of the VLAN tables in this MIB group selects
                the same VLAN."

        ::= { vlanMemberEntry 1 }

vlanMemberPortIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number greater than zero identifying an individually
                switched port.  The same value of a port index variable
                for any of the port tables selects the same port."
        ::= { vlanMemberEntry 2 }

vlanMemberPortOfVlan OBJECT-TYPE
        SYNTAX  INTEGER { true(1), false(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The port identified by vlanMemberPortIndex becomes
                 a member of the VLAN identified by vlanMemberIndex
                 when this object is set to true(1).  The same port
                 ceases to be member of that VLAN when the object
                 is set to false(2).

                 All ports in the switch must belong to some VLAN.
                 Consequently, the switch will return badValue if
                 this object is used such to remove the port from all
                 membership lists.

                 Note that when vlanAllowMembershipOverlap is disabled,
                 a port can only be member of exactly one VLAN.
                 In this case, setting vlanMemberPortOfVlan to true(1) for
                 a port adds the port to the membership list of the
                 current VLAN and removes the same port from all other VLAN
                 membership lists.

                 When vlanAllowMembershipOverlap is enabled, a port may
                 reside in multiple VLANs.  Setting vlanMemberPortOfVlan
                 to true(1) in this case adds the port to the membership
                 list of the current VLAN and does not change other
                 VLAN membership lists."

        ::= { vlanMemberEntry 3 }

bridgeTemplateMax   OBJECT-TYPE
        SYNTAX      INTEGER
        ACCESS      read-only
        STATUS      mandatory
        DESCRIPTION
                "The maximum number of bridge templates supported."
        ::= { vlan 5 }

bridgeTemplateTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF BridgeTemplateEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A list of bridge configuration templates."
        ::= { vlan 6 }

bridgeTemplateEntry OBJECT-TYPE
        SYNTAX          BridgeTemplateEntry
        ACCESS  not-accessible
        STATUS          mandatory
        DESCRIPTION
                "Configuration parameters for a bridge parameter template."
        INDEX   { bridgeTemplateIndex }

        ::= { bridgeTemplateTable 1 }

BridgeTemplateEntry ::=
        SEQUENCE {
                bridgeTemplateIndex
                        INTEGER,
                bridgeTemplatePriority
                        INTEGER,
                bridgeTemplateMaxAge
                        Timeout,
                bridgeTemplateHelloTime
                        Timeout,
                bridgeTemplateForwardDelay
                        Timeout
        }

bridgeTemplateIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number from 1 to bridgeTemplateMax identifying a
                 configurable bridge parameters template."
        ::= { bridgeTemplateEntry 1 }

bridgeTemplatePriority OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION
                "See dot1dStpPriority in RFC 1493. The value of
                 dot1dStpPriority must match the value of an instance
                 of this object."
        ::= { bridgeTemplateEntry 2 }

bridgeTemplateMaxAge OBJECT-TYPE
        SYNTAX          Timeout
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION
                "See dot1dStpBridgeMaxAge in RFC 1493. The value of
                 dot1dStpBridgeMaxAge must match the value of an instance
                 of this object."
        ::= { bridgeTemplateEntry 3 }

bridgeTemplateHelloTime OBJECT-TYPE
        SYNTAX  Timeout
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "See dot1dStpBridgeHelloTime in RFC 1493. The value of
                 dot1dStpBridgeHelloTime must match the value of an instance
                 of this object."
        ::= { bridgeTemplateEntry 4 }

bridgeTemplateForwardDelay OBJECT-TYPE
        SYNTAX  Timeout
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "See dot1dStpBridgeForwardDelay in RFC 1493. The value of
                 dot1dStpBridgeForwardDelay must match the value of an instance
                 of this object."
        ::= { bridgeTemplateEntry 5 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                 Bandwidth Usage Information                            |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


bandwidthUsageCurrent OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The bandwidth currently consumed.  The measurement unit is in
                 megabits per second (1,000,000 bits/second)."

        ::= { bandwidthUsage 1 }

bandwidthUsageMaxPeakEntries OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The maximum number of entries bandwidthUsagePeakTable
                 can have."

        ::= { bandwidthUsage 2 }

bandwidthUsagePeakInterval OBJECT-TYPE
        SYNTAX  INTEGER { onehour(1),threehours(3),sixhours(6),twelvehours(12),
                          oneday(24),twodays(48),threedays(72),fourdays(96),
                          fivedays(120),sixdays(144),oneweek(168) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object specifies the length of time which forms a
                 peak bandwidth capture interval.  The default is
                 oneday(24).  A write to this object with any new value
                 restarts the peak bandwidth capture at the first interval.
                 In other word, the bandwidthUsagePeakTable will be cleared
                 and entry number 1 will record the peak for a new first
                 interval."

        ::= { bandwidthUsage 3 }

bandwidthUsagePeakRestart OBJECT-TYPE
        SYNTAX  INTEGER { noRestart(1), restart(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Set to restart(2) to clear the bandwidthUsagePeakTable
                 and restart the peak bandwidth capturing at the current
                 interval.  No action will be taken if this object is set
                 to noRestart(1).  This object always returned noRestart(1)
                 when read."

        ::= { bandwidthUsage 4 }

bandwidthUsageCurrentPeakEntry OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A value identifying an instance of the bandwidthUsagePeakIndex
                 of the bandwidthUsagePeakTable where the peak bandwidth
                 measurement is most current."

        ::= { bandwidthUsage 5 }

bandwidthUsagePeakTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF BandwidthUsagePeakEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A list of entries containing peak bandwidth usages in
                 a number of time periods."

        ::= { bandwidthUsage 6 }

bandwidthUsagePeakEntry OBJECT-TYPE
        SYNTAX  BandwidthUsagePeakEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Information about peak bandwidth usage in a time period."
        INDEX   { bandwidthUsagePeakIndex }
        ::= { bandwidthUsagePeakTable 1 }

BandwidthUsagePeakEntry ::=
        SEQUENCE {
                bandwidthUsagePeakIndex
                        INTEGER,
                bandwidthUsageStartTime
                        DisplayString,
                bandwidthUsagePeak
                        INTEGER,
                bandwidthUsagePeakTime
                        DisplayString
        }

bandwidthUsagePeakIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number from 1 to bandwidthUsageMaxPeakEntries identifying a
                 particular bandwithUsagePeakEntry."

        ::= { bandwidthUsagePeakEntry 1 }

bandwidthUsageStartTime OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Up to 32 characters containing the date and time that marks
                the start of this capture interval.  The string is in net
                ASCII and conforms exactly to the following format:

                Mon Sep 21 07:00:00 1992"

        ::= { bandwidthUsagePeakEntry 2 }

bandwidthUsagePeak OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The highest bandwidth utilized since the time given in
                 bandwidthUsageStartTime or last cleared.  The measurement
                 unit is in megabits per second (1,000,000 bits/second)."

        ::= { bandwidthUsagePeakEntry 3 }

bandwidthUsagePeakTime OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Up to 32 characters containing the date and time the value
                in bandwidthUsagePeak is captured.  The string is in net
                ASCII and conforms exactly to the following format:

                Mon Sep 21 07:02:01 1992"

        ::= { bandwidthUsagePeakEntry 4 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--        The Stand-Alone Ethernet Switch Enterprise Specific Traps       |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

logonIntruder TRAP-TYPE
        ENTERPRISE  series2000
        VARIABLES   { sysName }
        DESCRIPTION
                "A user is repeatedly trying to logon using an invalid
                 password.  The number of attempts exceeds the preset
                 limit given in netMgmtConsolePasswordThresh.
                 Depending on how the object netMgmtConsoleSilentTime
                 is configured, the switch may shut down the
                 Management Console following the generation of this trap."

        ::= 0

switchDiagnostic TRAP-TYPE
        ENTERPRISE  series2000
        VARIABLES   { sysName }
        DESCRIPTION
                "The switch issues this trap when its Power On
                 Self Test (POST) code does not pass all tests.  Some
                 failures are catastrophic and may prevent the generation
                 of this trap, as well as the system's operations."

        ::= 1

addressViolation TRAP-TYPE
        ENTERPRISE  series2000
        VARIABLES   { ifIndex }
        DESCRIPTION
                "The addressViolation trap is issued when an address
                 violation is detected on a secured port.
                 The generation of the addressViolation trap can be
                 enabled or suppressed using the object
                 sysConfigAddressViolationAlert."

        ::= 3

broadcastStorm TRAP-TYPE
        ENTERPRISE  series2000
        VARIABLES   { ifIndex }
        DESCRIPTION
                "The broadcastStorm trap is issued when broadcast storm control
                 is enabled and the number of broadcast packets received in a
                 second from a port is higher than the broadcast threshold.
                 The generation of this trap can be enabled or suppressed using
                 the object sysConfigBroadcastStormAlert."

        ::= 4

rpsFailed TRAP-TYPE
        ENTERPRISE  series2000
        VARIABLES   { sysName }
        DESCRIPTION
                "A redundant power source is connected to the switch but a failure
                 exists in the power system."

        ::= 5

ipAddressChange TRAP-TYPE
        ENTERPRISE  series2000
        VARIABLES   { sysName }
        DESCRIPTION
                "The ipAddressChange trap is issued when the switch
                 is unable to complete its DHCPDISCOVER/ DHCPREQUEST
                 process, or when it fails to extend the lease for the
                 current address, or when it accepts an address change
                 from the user."
        ::= 6


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--                                                                        |
--                       The Bridge Group                                 |
--                                                                        |
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

bridgeGroupMaxSupported OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The maximum number of bridge groups supported.
                 The switch currenlty supports up to 4 bridge groups.
                 This object represents the upper bound of the index
                 into the bridgeGroupTable."
        ::= { bridgeGroup 1 }

bridgeGroupAllowMembershipOverlap OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "When set to enabled(1), the switch will allow a port
                 to be member of more than one bridge group.  Note that
                 overlapped bridge groups may lead to loss of connectivity
                 in the Spanning Tree topology, and should only be used
                 with caution.

                 When set to disabled(2), the switch will ensure that
                 a port can belong to one and only one bridge group.

                 The default value is disabled(1)."
        ::= { bridgeGroup 2 }

bridgeGroupTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF BridgeGroupEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A list of configuration entries for a bridge group."

        ::= { bridgeGroup 3 }

bridgeGroupEntry OBJECT-TYPE
        SYNTAX  BridgeGroupEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Configuration parameters for a bridge group."
        INDEX   { bridgeGroupIndex }
        ::= { bridgeGroupTable 1 }

BridgeGroupEntry ::=
        SEQUENCE {
                bridgeGroupIndex
                        INTEGER,
                bridgeGroupMemberPorts
                        OCTET STRING,
                bridgeGroupStpAdmin
                        INTEGER
        }

bridgeGroupIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Number from 1 to bridgeGroupMaxSupported identifying a
                configurable bridge group."

        ::= { bridgeGroupEntry 1 }

bridgeGroupMemberPorts OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The set of the switch's member ports for the bridge group.
                 A port may reside within multiple bridge groups only if
                 the object bridgeGroupAllowMembershipOverlap has been set
                 to enabled(1).

                 This object cannot be used to configure bridge group
                 membership.  The table bridgeGroupMemberTable is used
                 for that purpose.

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

                 Initially, a single bridge group with all ports as its
                 members is defined."

        ::= { bridgeGroupEntry 3 }

bridgeGroupStpAdmin OBJECT-TYPE
        SYNTAX      INTEGER { enabled(1), disabled(2) }
        ACCESS      read-write
        STATUS      mandatory
        DESCRIPTION
                "This object indicates if STP is enabled or disabled for the
                 bridge group.

                 The default is enabled(1)."
        ::= { bridgeGroupEntry 4 }

bridgeGroupMemberTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF BridgeGroupMemberEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A list of port membership configuration entries for a
                 bridge group."

        ::= { bridgeGroup 4 }

bridgeGroupMemberEntry OBJECT-TYPE
        SYNTAX  BridgeGroupMemberEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Port membership configuration parameters for a bridge group."
        INDEX   { bridgeGroupMemberIndex, bridgeGroupMemberPortIndex }
        ::= { bridgeGroupMemberTable 1 }

BridgeGroupMemberEntry ::=
        SEQUENCE {
                bridgeGroupMemberIndex
                        INTEGER,
                bridgeGroupMemberPortIndex
                        INTEGER,
                bridgeGroupMemberPortOfBridgeGroup
                        INTEGER
        }

bridgeGroupMemberIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The value of bridgeGroupIndex of a bridge group."

        ::= { bridgeGroupMemberEntry 1 }

bridgeGroupMemberPortIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The value of swPortIndex of a switched port."
        ::= { bridgeGroupMemberEntry 2 }

bridgeGroupMemberPortOfBridgeGroup OBJECT-TYPE
        SYNTAX  INTEGER { true(1), false(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The port identified by bridgeGroupMemberPortIndex becomes
                 a member of the bridgeGroup identified by bridgeGroupMemberIndex
                 when this object is set to true(1).  The same port
                 ceases to be member of that bridgeGroup when the object
                 is set to false(2).

                 All ports in the switch must belong to some bridge group.
                 Consequently, the switch will return badValue if
                 this object is used such to remove the port from all
                 membership lists.

                 Note that when bridgeGroupAllowMembershipOverlap is disabled,
                 a port can only be member of exactly one bridge group.
                 In this case, setting bridgeGroupMemberPortOfBridgeGroup to
                 true(1) for a port adds the port to the membership list of the
                 current bridge group and removes the same port from all other
                 bridge group membership lists.

                 When bridgeGroupAllowMembershipOverlap is enabled, a port may
                 reside in multiple bridge groups.  Setting
                 bridgeGroupMemberPortOfBridgeGroup to true(1) in this case adds
                 the port to the membership list of the current bridge group
                 and does not change other bridge groups' membership list."

        ::= { bridgeGroupMemberEntry 3 }




END
