AD | Application | AWS | Azure | Cloud | Database | Enterprise | Environmental | Event Log | File System | IoT | IT Service | Network/System | Infra | Performance | Protocol | SaaS | Security | Service Level | Storage | Linux | VMware | VoIP | Web | Wireless | SNMP

Crumbtrail

MonitorTools.com » Technical documentation » SNMP » MIB » Cisco » CISCO-ES-STACK-MIB

CISCO-ES-STACK-MIB device MIB details by Cisco

CISCO-ES-STACK-MIB file content

The SNMP protocol is used to for conveying information and commands between agents and managing entities. SNMP uses the User Datagram Protocol (UDP) as the transport protocol for passing data between managers and agents. The reasons for using UDP for SNMP are, firstly it has low overheads in comparison to TCP, which uses a 3-way hand shake for connection. Secondly, in congested networks, SNMP over TCP is a bad idea because TCP in order to maintain reliability will flood the network with retransmissions.

Management information (MIB) is represented as a collection of managed objects. These objects together form a virtual information base called MIB. An agent may implement many MIBs, but all agents must implement a particular MIB called MIB-II [16]. This standard defines variables for things such as interface statistics (interface speeds, MTU, octets sent, octets received, etc.) as well as various other things pertaining to the system itself (system location, system contact, etc.). The main goal of MIB-II is to provide general TCP/IP management information.

Use ActiveXperts Network Monitor 2024 to import vendor-specific MIB files, inclusing CISCO-ES-STACK-MIB.


Vendor: Cisco
Mib: CISCO-ES-STACK-MIB  [download]  [view objects]
Tool: ActiveXperts Network Monitor 2024 [download]    (ships with advanced SNMP/MIB tools)
CISCO-ES-STACK-MIB
DEFINITIONS ::= BEGIN

-- Copyright 1995 Cisco Systems Inc.
-- All rights reserved.

-- This SNMP Management Information Specification 
-- embodies Cisco's confidential and proprietary
-- intellectual property.  Cisco retains all title
-- and ownership in the Specification including any revisions.

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


IMPORTS
	TimeTicks, IpAddress, Counter, Gauge, enterprises
			                FROM RFC1155-SMI
	OBJECT-TYPE
			                FROM RFC-1212

	DisplayString, sysName, sysLocation
			                FROM RFC1213-MIB

        TRAP-TYPE
                                        FROM RFC-1215
;

cisco OBJECT IDENTIFIER ::= { enterprises 9 }

workgroup OBJECT IDENTIFIER ::= { cisco 5 }

-- Ethernet station MAC address

MacAddr ::= OCTET STRING (SIZE(6))

-- From RFC1493

BridgeId ::= OCTET STRING (SIZE (8))

-- EtherSwitch objects

esStack	                OBJECT IDENTIFIER ::= { workgroup 14 }

-- Managed Groups defined in this module

-- Global objects for Cisco EtherSwitch

ciscoEsMain	        OBJECT IDENTIFIER ::= { esStack 1 }

--      Configuration objects

ciscoEsConfig	        OBJECT IDENTIFIER ::= { ciscoEsMain 1 }

-- Rack/Stack Management Group

ciscoEsStack	        OBJECT IDENTIFIER ::= { esStack 2 }

-- Module Management Group 

ciscoEsModule	        OBJECT IDENTIFIER ::= { esStack 3 }

-- Port Level Managed Group

ciscoEsPort	        OBJECT IDENTIFIER ::= { esStack 4 }

-- VirtualEtherSwitch (Domain) Management Group (obseleted since 2.0 )

ciscoEsDmns             OBJECT IDENTIFIER ::= { esStack 5 }

-- EtherChannel Management Group

ciscoEsEChannel         OBJECT IDENTIFIER ::= { esStack 6 }

-- Filter Configuration Group

ciscoEsFilter           OBJECT IDENTIFIER ::= { esStack 7 }

-- VirtualEtherSwitch (VLAN) Management Group

ciscoEsVLANs            OBJECT IDENTIFIER ::= { esStack 8 }

-- LATTE/Mocha Router Group

ciscoEsRouter            OBJECT IDENTIFIER ::= { esStack 9 }

-- Configuration objects

ciscoEsIpAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
                "The IP address of the current vlan."
	::= { ciscoEsConfig 1 }

ciscoEsNetMask OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
                "The subnet mask of the current vlan."
	::= { ciscoEsConfig 2 }

ciscoEsDefaultGateway OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
                "IP default gateway of the current vlan."
	::= { ciscoEsConfig 3 }

ciscoEsSysCurTime OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (1..128))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Current time at the switch. To set the time
	         use the format yyyy mm dd hh mm ss. All 
		 fields are required. Setting this object will
                 reset the time in all the switches in the stack 
                 to the new value."
	::= { ciscoEsConfig 4 }

ciscoEsConfiguration OBJECT-TYPE
	SYNTAX	INTEGER 
		{ 
			stand-alone (1), 
			back-to-back (2), 
			prostack-matrix (3) 
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The stack configuration of the system. A
                 system can exist in three possible configurations.

                 1. Stand alone mode where the system has only one
                 switch and is not connected to any other switches.

                 2. Back to Back mode in which a pair of
                 switches are connected back to back through Stack
		 Port.

                 3. Matrix mode in which the stack has
                 up to eight switches connected to a Matrix
                 through the Stack Port."
	::= { ciscoEsConfig 5 }

ciscoEsNumSwitches OBJECT-TYPE
	SYNTAX	INTEGER 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Total number of switches in the stack."
	::= { ciscoEsConfig 6 }

ciscoEsStackStatus OBJECT-TYPE
	SYNTAX	INTEGER  { running (1) , updating (2)}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Stack status indicates if the stack is going through
		 the Stack Management Update protocol. Management stations
		 should check this status if they receive a generr on a
		 SET request for any of the stack wide attributes."
	::= { ciscoEsConfig 7 }

ciscoEsTftpServer OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"TFTP sever's IP address."
	::= { ciscoEsConfig 8}

ciscoEsTftpServerDomain OBJECT-TYPE
	SYNTAX	INTEGER (0..63) 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"VLAN to which the server is connected."
	::= { ciscoEsConfig 9 }

ciscoEsTftpFileLoc OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(0..256))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Location of the binary file on the server."
	::= { ciscoEsConfig 10 }

ciscoEsSetLock OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object has not been in use since 2.0 release and there 
		 are currently no plans to implement it as defined below. 
		 This object when set to the manager's IP address 
		 locks out every other manager from doing any SET
		 operations. This lock out expires after a fixed 
		 interval of 5 minutes. The Manager holding the 
		 lock can renew the lock by doing SET on this 
		 object again before the timeout expires otherwise
		 it will contend with other managers trying to
		 lock. The IP Address value should match the
		 IP address that the manager uses to generate the
		 SET request."
	::= { ciscoEsConfig 11 }

ciscoEsProStackMatrixStatus OBJECT-TYPE
	SYNTAX	INTEGER { primary (1), secondary (2) , none (3), failed (4)}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Active Matrix module in the stack. This object 
		 is set to none if the switch is not connected to a
		 Matrix."
	::= { ciscoEsConfig 12 }

ciscoEsNumMatrixModules OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of Matrix modules in the stack. This object 
		 is set to zero if the switch is not connected to a
		 Matrix."
	::= { ciscoEsConfig 13 }

ciscoEsLLPortDsbld OBJECT-TYPE
        SYNTAX  INTEGER {
                disabled(1)     -- port is disabled
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "This OID is sent out along with the LINK_DOWN Trap only
                 when the port is disabled due to the port security feature
                 (learn and lock). Port could be disabled due to the
                 discovery of invalid MAC address."
        ::= { ciscoEsConfig 14 }

-- Trap Receiver Table
ciscoEsTrapRcvrTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsTrapRcvrEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Trap Receiver Table for each vlan."
	::= { ciscoEsConfig 25 }

ciscoEsTrapRcvrEntry OBJECT-TYPE
	SYNTAX	CiscoEsTrapRcvrEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of each row in the vlan specific trap
                 receiver table."

	INDEX	{ ciscoEsTrapRcvrIndex }
	::= { ciscoEsTrapRcvrTable 1 }

CiscoEsTrapRcvrEntry ::= SEQUENCE {
	ciscoEsTrapRcvrIndex		INTEGER,
	ciscoEsTrapRcvrStatus		INTEGER,
	ciscoEsTrapRcvrIpAddress	IpAddress,
	ciscoEsTrapRcvrComm	        DisplayString,
	ciscoEsTrapRcvrVLANs             OCTET STRING
        }

ciscoEsTrapRcvrIndex OBJECT-TYPE
	SYNTAX	INTEGER (1..20)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Trap receiver index for each entry." 
	::= { ciscoEsTrapRcvrEntry 1 }

ciscoEsTrapRcvrStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),	-- none of the following
		valid(2),	-- a valid address
		invalid(3),	-- an invalid address
		create(4)	-- create row
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Setting the value of this object to invalid(3)
		deletes the row from the table.  The value
		invalid(3) should never be returned on a GET.  

                Setting this value to create(4) causes a new row
                to be created if the row does not already exist.
                To create a new row set ciscoEsTrapRcvrStatus to 
                create(4) and ciscoEsTrapRcvrIndex to any valid 
		index which does not already exist.

		The value returned on GETs should be valid(2) or
		other(1), which is used to indicate any other
		condition."
	::= { ciscoEsTrapRcvrEntry 2 }


ciscoEsTrapRcvrIpAddress OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP address for an SNMP manager that is to receive
		the trap."
	::= { ciscoEsTrapRcvrEntry 3 }

ciscoEsTrapRcvrComm OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (1..16))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Community string to use."
	::= { ciscoEsTrapRcvrEntry 4 }

ciscoEsTrapRcvrVLANs OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(128))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"VLANs to which traps to this target are sent 
		out on. Each octet within the value of this object 
                specifies a set of eight vlans, with the first 
		octet specifying vlans 0 through 7, the second 
		octet specifying vlans 8 through 15, etc.  
		Within each octet, the most significant bit 
		represents the lowest numbered vlan, and the 
		least significant bit represents the highest 
		numbered vlan.  Thus, each vlan of the stack
                is represented by a single bit within the
                value of this object.  If that bit has a value of
                '1' then that vlan is included in the set of
                ports; the vlan is not included if its bit has a
                value of '0'."
	::= { ciscoEsTrapRcvrEntry 5 }

-- Stack management group
-- 
ciscoEsStackTable OBJECT-TYPE 
	SYNTAX	SEQUENCE OF CiscoEsStackEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Stack information table. This table provides
                 the current configuration of the stack. It also
                 provides a mapping of Switch Numbers to their 
                 addresses.

                 The Management Application is required to retrieve this
                 table and verify its own view of the stack periodically
                 and/or when it receives a trap indicating a change in the 
		 stack configuration."
	::= { ciscoEsStack 1 }

ciscoEsStackEntry OBJECT-TYPE
	SYNTAX	CiscoEsStackEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of each row in the Stack Table"
	INDEX	{ ciscoEsStackSwitchNumber, ciscoEsStackSwitchAddr }
	::= { ciscoEsStackTable 1 }

CiscoEsStackEntry ::= SEQUENCE {
	ciscoEsStackSwitchNumber        	INTEGER,
	ciscoEsStackSwitchAddr	        	MacAddr,
	ciscoEsStackSwitchFwVersion     	DisplayString,
	ciscoEsStackSwitchHwVersion     	DisplayString,
        ciscoEsStackSwitchUptime        	TimeTicks,
        ciscoEsStackSwitchStatus        	INTEGER,
        ciscoEsStackSwitchTemperature   	INTEGER,
	ciscoEsStackSwitchMemory	        INTEGER,
        ciscoEsStackSwitchProbe         	INTEGER,
        ciscoEsStackSwitchProbeDirection       	INTEGER,
	ciscoEsStackSwitchFeatureStatus		INTEGER,
	ciscoEsStackSwitchFeatureKey		INTEGER,
        ciscoEsStackSwitchPorts			OCTET STRING,
	ciscoEsStackSwitchAgingTime             INTEGER,
	ciscoEsStackSwitchAgingLevel            INTEGER,
	ciscoEsStackSwitchBufferOverruns        Counter,
	ciscoEsStackSwitchSoftwareFrames        Counter,
	ciscoEsStackSwitchInErrFrames           Counter,
	ciscoEsStackSwitchInShortFrames         Counter,
	ciscoEsStackSwitchInLongFrames          Counter,
	ciscoEsStackSwitchInNoSpaceFrames       Counter,
	ciscoEsStackSwitchOutTotalReqs          Counter,
	ciscoEsStackSwitchOutTotalFrames        Counter,
	ciscoEsStackSwitchOutDroppedFrames      Counter,
	ciscoEsStackSwitchLongestHashChain   	Gauge,
	ciscoEsStackSwitchHashTableFulls	Counter,
	ciscoEsStackSwitchId        	        OBJECT IDENTIFIER,
	ciscoEsStackSwitchDplxCtrl              INTEGER
	}

ciscoEsStackSwitchNumber  OBJECT-TYPE
	SYNTAX	INTEGER (1..8)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Switch number determined by the port number
		that the switch is connected to in a
		Matrix or as determined by the Stack Management 
		software when two switches are connected back
		to back."
	::= { ciscoEsStackEntry 1 }

ciscoEsStackSwitchAddr  OBJECT-TYPE
	SYNTAX	MacAddr
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Mac address of the switch."
	::= { ciscoEsStackEntry 2 }

ciscoEsStackSwitchFwVersion  OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (1..128))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Version number for the firmware running on the switch."
	::= { ciscoEsStackEntry 3 }

ciscoEsStackSwitchHwVersion  OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (1..128))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Hardware version number for the switch."
	::= { ciscoEsStackEntry 4 }

ciscoEsStackSwitchUptime  OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Time ticks since the switch was last reset."
	::= { ciscoEsStackEntry 6 }

ciscoEsStackSwitchStatus  OBJECT-TYPE
	SYNTAX	INTEGER 
                  { 
                        running (1), 
                        coldReset(2), 
                        warmReset (3)
                  }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Operational status of the box. Setting this value
                 to either coldReset (2) or warmReset (3) will cause
                 cold start or warm start to occur after a specific
                 time delay."
	::= { ciscoEsStackEntry 7 }

ciscoEsStackSwitchTemperature  OBJECT-TYPE
	SYNTAX	INTEGER {normal (1), toohigh (2), unknown (3) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Temperature status of each switch."
	::= { ciscoEsStackEntry 8 }

ciscoEsStackSwitchMemory  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Installed memory on the switch in MB."
	::= { ciscoEsStackEntry 9 }

ciscoEsStackSwitchProbe OBJECT-TYPE
	SYNTAX	INTEGER (0..32)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Port number to be monitored through the SwitchProbe.
		 Setting this object to zero turns off SwitchProbe."
	::= { ciscoEsStackEntry 10 }

ciscoEsStackSwitchProbeDirection OBJECT-TYPE
	SYNTAX	INTEGER
		{
			transmit (1), -- For FDX Ports only
		        receive  (2), -- For FDX Ports only
			both     (3), -- For HDX ports only
			none    (4)   -- SwitchProbe turned off
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Direction of traffic to monitor on the SwitchProbe."
	::= { ciscoEsStackEntry 11 }

ciscoEsStackSwitchFeatureStatus OBJECT-TYPE
	SYNTAX	INTEGER { standard (1), enhanced (2) , unknown (3)}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"This object indicates whether the switch is enabled 
		 to support enhanced features."
	::= { ciscoEsStackEntry 12 }

ciscoEsStackSwitchFeatureKey OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Feature key to enable enhanced features."
	::= { ciscoEsStackEntry 13 }

ciscoEsStackSwitchPorts OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(4))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"A bit mask representing all the ports present in this
                switch. 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
                EtherSwitch 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'." 
        ::= { ciscoEsStackEntry 14 }

ciscoEsStackSwitchAgingTime OBJECT-TYPE
        SYNTAX  INTEGER (0..9999)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
		"Aging time in minutes for the master address table entries
		 on this switch."
	::= { ciscoEsStackEntry 15 }

ciscoEsStackSwitchAgingLevel OBJECT-TYPE
	SYNTAX	INTEGER  (0..90)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Threshold to demand age the master address table. All
	         numbers refer to percentage of the address table. The
		 only values accepted by the agent are 50,60,70,80,90
		 and 0. Setting the value to 0 disables demand aging."
	::= { ciscoEsStackEntry 16 }

ciscoEsStackSwitchBufferOverruns OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"Number of times the switch was out of buffers."
	::= { ciscoEsStackEntry 17 }

ciscoEsStackSwitchSoftwareFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"Total number of frames sent to the CPU on this switch."
	::= { ciscoEsStackEntry 18 }

ciscoEsStackSwitchInErrFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"Total number of frames in error on this switch."
	::= { ciscoEsStackEntry 19}


ciscoEsStackSwitchInShortFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"Total number of frames which were too short received
		 on this switch."
	::= { ciscoEsStackEntry 20 }

ciscoEsStackSwitchInLongFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"Total number of frames which were too long received 
		 on this switch."
	::= { ciscoEsStackEntry 21 }

ciscoEsStackSwitchOutDroppedFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"Total number of received frames dropped by switch."
	::= { ciscoEsStackEntry 22 }

ciscoEsStackSwitchInNoSpaceFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"Number of times incoming frames had to be dropped
		 because of no more memory available."
	::= { ciscoEsStackEntry 23 }

ciscoEsStackSwitchOutTotalReqs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"Total number of requests made by the CPU to send
		 out a frame."
	::= { ciscoEsStackEntry 24 }

ciscoEsStackSwitchOutTotalFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"Total number of frames sent out from this switch 	
		 requested by the CPU."
	::= { ciscoEsStackEntry 25 }

ciscoEsStackSwitchLongestHashChain OBJECT-TYPE
        SYNTAX  Gauge
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"The length of the longest hash chain in the CPU hash 
		 table."
	::= { ciscoEsStackEntry 26 }

ciscoEsStackSwitchHashTableFulls OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
		"Total number of times the hash table was full when
		 trying to add an entry."
	::= { ciscoEsStackEntry 27 }

ciscoEsStackSwitchId  OBJECT-TYPE
	SYNTAX	OBJECT IDENTIFIER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The switch Id used to uniquely identify the kind of the
		 cisco ethernet switch."
	::= { ciscoEsStackEntry 28 }

ciscoEsStackSwitchDplxCtrl  OBJECT-TYPE
	SYNTAX	INTEGER {hardware (1), software (2) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Control of setting the ports to full or half duplex."
	::= { ciscoEsStackEntry 29 }

-- Module Configuration Table

ciscoEsModTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsModEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Module configuration table. Each EtherSwitch
                 the set of 10 MB Ports is considered as slot 1.
                 Each additional card which plugs into the system
                 is numbered based on where the card is plugged into."
	::= { ciscoEsModule 1 }

ciscoEsModEntry OBJECT-TYPE
	SYNTAX	CiscoEsModEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of each row in the Module Table"
	INDEX	{ 
                        ciscoEsModSwitchNumber,
                        ciscoEsModNumber 
                }
	::= { ciscoEsModTable 1 }

CiscoEsModEntry ::= SEQUENCE {
        ciscoEsModSwitchNumber          INTEGER,
	ciscoEsModNumber                INTEGER,
	ciscoEsModState			INTEGER,
	ciscoEsModType			INTEGER,
	ciscoEsModRevision		INTEGER,
	ciscoEsModNumPorts		INTEGER,
	ciscoEsModUptime		TimeTicks
	}

ciscoEsModSwitchNumber  OBJECT-TYPE
	SYNTAX	INTEGER (1..8)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Switch number determined by the port number
		that the switch is connected to in a
		Matrix or as determined by the Stack Management 
		software when two switches are connected back
		to back."
	::= { ciscoEsModEntry 1 }

ciscoEsModNumber  OBJECT-TYPE
	SYNTAX	INTEGER (1..8)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The module number."
	::= { ciscoEsModEntry 2 }

ciscoEsModState  OBJECT-TYPE
	SYNTAX	INTEGER { nomodule (1), running (2), stopped (3), faulty (4) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The state indicates the current operational state of the
		 module."
	::= { ciscoEsModEntry 3 }

ciscoEsModType  OBJECT-TYPE
	SYNTAX	INTEGER 
		{
		 system              (1),  -- 16 Port 10BaseT and CPU
		 ws-X3004            (2),  -- PFP Port Module
		 ws-X3001            (3),  -- 100 Mb Ethernet TX 
		 ws-X3005            (4),  -- 100 Mb Ethernet FX
	         ws-X3002            (5),  -- 4 Port 10BaseT
		 ws-X3013           (6),  -- 3 Port 10Base2
		 ws-X3003            (7),  -- 3 Port 10BaseF
		 ws-X3006            (8),  -- ATM Module
		 unknown             (9),  -- Unknown Module
		 none                (10), -- Slot is empty
		 ws-X3007-8          (11), -- 100Base(F/T)-VG
                 ws-X3009            (12), -- ISL FX
                 ws-X3010            (13), -- ISL TX
                 ws-X3011            (14)  -- Latte Router module
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The type of module plugged in to the slot. Module type 
		 system (1) represents the mother board with the CPU and
		 system memory. In RSM the system module always occupies
		 slot 2. Module state none (6) represents a slot with no
	         modules plugged in (indicated by ciscoEsModState)."
	::= { ciscoEsModEntry 4 }

ciscoEsModRevision  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The module revision number."
	::= { ciscoEsModEntry 5 }

ciscoEsModNumPorts  OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Total number of ports in the module."
	::= { ciscoEsModEntry 6 }

ciscoEsModUptime  OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Time in 1/100 seconds since the module was last reset."
	::= { ciscoEsModEntry 7 }

-- EtherSwitch Port table

ciscoEsPortTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsPortEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of information about each port. For 
		 Cisco ports only the following Counters
		 are valid:
		 	ciscoEsPortInFrames
		 	ciscoEsPortOutFrames
		 	ciscoEsPortInOctets
		 	ciscoEsPortOutOctets
		 	ciscoEsPortLongFrames
		 	ciscoEsPortShortFrames
		 	ciscoEsPortSWHandledFrames
		 	ciscoEsPortInBufOverflows
		 	ciscoEsPortOutBufOverflows
		 	ciscoEsPortPktsInErrors
			ciscoEsPortForwardedFrames
		All other Counters will return 0 for such ports."
	::= { ciscoEsPort 1 }

ciscoEsPortEntry OBJECT-TYPE
	SYNTAX	CiscoEsPortEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of rows in the port table."
	INDEX	{ ciscoEsPortSwitchNumber, ciscoEsPortNumber }
	::= { ciscoEsPortTable 1 }

CiscoEsPortEntry ::= SEQUENCE {
        ciscoEsPortSwitchNumber         INTEGER,
	ciscoEsPortNumber		INTEGER,
 	ciscoEsPortModNumber            INTEGER,
	ciscoEsPortIfIndex		INTEGER,
	ciscoEsPortDuplex 	        INTEGER,
	ciscoEsPortRcvLocalFrames    	Counter,
	ciscoEsPortForwardedFrames   	Counter,
	ciscoEsPortMostStations		Counter,
	ciscoEsPortMaxStations		Counter,
	ciscoEsPortSWHandledFrames   	Counter,
	ciscoEsPortLocalStations	Counter,
	ciscoEsPortRemoteStations    	Counter,
	ciscoEsPortUnknownStaFrames  	Counter,
	ciscoEsPortResetStats		INTEGER,
	ciscoEsPortResetTimer		TimeTicks,
	ciscoEsPortResetAddrs		INTEGER,
	ciscoEsPortInFrames             Counter,
	ciscoEsPortOutFrames            Counter,
	ciscoEsPortLongFrames           Counter,
	ciscoEsPortShortFrames          Counter,
	ciscoEsPortInBufOverflows       Counter,
	ciscoEsPortOutBufOverflows      Counter,
	ciscoEsPortRcvBcasts	        Counter,
	ciscoEsPortRcvMcasts	        Counter,
	ciscoEsPortSwitchedFrames    	Counter,
	ciscoEsPortInOctets	    	Counter,
	ciscoEsPortOutOctets    	Counter,
	ciscoEsPortPktsInErrors    	Counter,
	ciscoEsPortLinkState		INTEGER,
	ciscoEsPortOprStatus		INTEGER,
	ciscoEsPortMdiMdix		INTEGER,
	ciscoEsPortHashOverflows	Counter,
	ciscoEsPortTableOverflows	Counter,
	ciscoEsPortAddrAgingTime        INTEGER,
	ciscoEsPortDemandAgingLevel     INTEGER,
	ciscoEsPortCfgMode              INTEGER,
	ciscoEsPortActiveMode           INTEGER,
	ciscoEsPortErrThreshold         INTEGER,
	ciscoEsPortLearningState        INTEGER,
	ciscoEsPortRuntlessMode         INTEGER,
	ciscoEsPortType                 INTEGER,
	ciscoEsPortCDPTimeToLive        INTEGER,
        ciscoEsPortFastPort             INTEGER, 
        ciscoEsPortISLOperStatus        INTEGER, 
        ciscoEsPortISLAdminStatus       INTEGER 
	}

ciscoEsPortSwitchNumber  OBJECT-TYPE
	SYNTAX	INTEGER (1..8)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Switch number determined by the port number
		that the switch is connected to in a
		Matrix or as determined by the Stack Management 
		software when two switches are connected back
		to back."
	::= { ciscoEsPortEntry 1 }

ciscoEsPortNumber OBJECT-TYPE
	SYNTAX	INTEGER (1..32)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A unique value for each port entry.  The value
		corresponds the port number."
	::= { ciscoEsPortEntry 2 }

ciscoEsPortModNumber  OBJECT-TYPE
	SYNTAX	INTEGER (1..4)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Module number of the module that contains this port."
	::= { ciscoEsPortEntry 3 }

ciscoEsPortIfIndex OBJECT-TYPE
	SYNTAX	INTEGER 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A pointer to the entry in the ifTable corresponding
                 to this port."
	::= { ciscoEsPortEntry 4 }

ciscoEsPortDuplex OBJECT-TYPE
	SYNTAX	INTEGER {
		fullDuplex(1),
		halfDuplex(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the port is jumper configured
		for full or half duplex operation.  Note:
		internal connected ports are always
		halfDuplex(2)."
	::= { ciscoEsPortEntry 5 }

ciscoEsPortRcvLocalFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of frames received where the destination
		is on this port."
	::= { ciscoEsPortEntry 6 }

ciscoEsPortForwardedFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of frames received on this port and
		 forwarded to another port or the system module 
                 for processing."
	::= { ciscoEsPortEntry 7 }

ciscoEsPortMostStations OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Highest number of stations ever active at any
		time since the last reset of the switch as seen by
		this port."
	::= { ciscoEsPortEntry 8 }

ciscoEsPortMaxStations OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Maximum number of stations which the port can
		support simultaneously."
	::= { ciscoEsPortEntry 9 }

ciscoEsPortSWHandledFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of Frames received on this port and
		delivered to the system module for processing."
	::= { ciscoEsPortEntry 10 }

ciscoEsPortLocalStations OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of stations on this port which belong to
		the local segment."
	::= { ciscoEsPortEntry 11 }

ciscoEsPortRemoteStations OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of stations on this port which belong to
		another segment."
	::= { ciscoEsPortEntry 12 }

ciscoEsPortUnknownStaFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of unicast frames received on this port
		and forwarded to the system module for processing
		because the source or destination station address 
		is not in the port's forwarding table."
	::= { ciscoEsPortEntry 13 }

ciscoEsPortResetStats OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),	-- none of the following
		running(2),	-- port is functioning
		reset(3)	-- reset port counters
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Setting this object to reset(3) causes all
		traffic counters for this port to be set to zero.
		Also the value of ciscoEsPortResetTimer is set to
		zero."
	::= { ciscoEsPortEntry 14 }

ciscoEsPortResetTimer OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Time (in 100th second ticks) since the port
		counters were reset."
	::= { ciscoEsPortEntry 15 }


ciscoEsPortResetAddrs OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),	-- none of the following
		running(2),	-- port is functioning
		reset(3)	-- clear address table &
		}		--  reset port counters
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Setting this object to reset(3) clears all
		address table entries for this port as well as
		setting all port traffic counters to zero and
		setting ciscoEsPortResetTimer to zero."
	::= { ciscoEsPortEntry 16 }

ciscoEsPortInFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Total Number of Frames received on this port."
	::= { ciscoEsPortEntry 17 }

ciscoEsPortOutFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Total Number of Frames transmitted by this port."
	::= { ciscoEsPortEntry 18 }

ciscoEsPortLongFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Total Number of Frames received on this port which were
		 too long."
	::= { ciscoEsPortEntry 19 }

ciscoEsPortShortFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Total Number of Frames received on this port which were
		 too short."
	::= { ciscoEsPortEntry 20 }

ciscoEsPortInBufOverflows OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Total Number of Frames received on this port which
		 caused a receive buffer overflow."
	::= { ciscoEsPortEntry 21 }

ciscoEsPortOutBufOverflows OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Total Number of Frames which could not be transmitted
		 from this port because of transmit buffer overflow."
	::= { ciscoEsPortEntry 22 }

ciscoEsPortRcvBcasts OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of Broadcast Frames received on this port
		without errors."
	::= { ciscoEsPortEntry 23 }

ciscoEsPortRcvMcasts OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of Multicast Frames received on this port
		without errors."
	::= { ciscoEsPortEntry 24 }

ciscoEsPortSwitchedFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of frames switched on this port."
	::= { ciscoEsPortEntry 25 }

ciscoEsPortInOctets OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Total number of octets received through this 
		 port. This counter is the same as the 
		 ifInOctets counter in ifTable corresponding
		 to this port."
	::= { ciscoEsPortEntry 26 }

ciscoEsPortOutOctets OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Total number of octets transmitted from this 
		 port. This counter is the same as the 
		 ifOutOctets counter in ifTable corresponding
		 to this port."
	::= { ciscoEsPortEntry 27 }

ciscoEsPortPktsInErrors OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Total number of packets received or transmitted
		 from this port and there was an error."
	::= { ciscoEsPortEntry 28 }

ciscoEsPortLinkState OBJECT-TYPE
	SYNTAX	INTEGER { up (1), down (2) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Link state of the port."
	::= { ciscoEsPortEntry 29 }

ciscoEsPortOprStatus OBJECT-TYPE
	SYNTAX	INTEGER { enabled (1), disabled (2), failed(3) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Operational status of the port. Failed is returned
		 when the the port fails power-on diagnostic tests."
	::= { ciscoEsPortEntry 30 }

ciscoEsPortMdiMdix OBJECT-TYPE
	SYNTAX	INTEGER {
		mdi (1),	-- port in MDI mode
		mdix (2),	-- port in MDIX mode
		none (3),	-- MDI/MDIX mode not applicable for port
                internal-term-on (4), -- mode valid ony for GI Joe ports
                internal-term-off (5) -- mode valid ony for GI Joe ports
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates whether the port is configured as MDI or 
		 MDIX or none (meaning not applicable). This object is also
		 used to show the termination status for 10Base2 type ports."
	::= { ciscoEsPortEntry 31 }

ciscoEsPortHashOverflows OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of times a hash bucket was full when trying to 
		 add an entry to the port address table."
	::= { ciscoEsPortEntry 32 }

ciscoEsPortTableOverflows OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of times the address table  was full when trying 
		 to add an entry to the port address table."
	::= { ciscoEsPortEntry 33 }

ciscoEsPortAddrAgingTime OBJECT-TYPE
	SYNTAX	INTEGER (0..9999)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
                "Port level address aging time in minutes. Setting this object
		 to zero disables address aging."
	::= { ciscoEsPortEntry 34 }

ciscoEsPortDemandAgingLevel OBJECT-TYPE
	SYNTAX	INTEGER  (0..90)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Threshold to demand age the port address table. All
	         numbers refer to percentage of the address table. The
		 only values accepted by the agent are 50,60,70,80,90
		 and 0. Setting the value to 0 disables demand aging."
	::= { ciscoEsPortEntry 35 }


ciscoEsPortCfgMode OBJECT-TYPE
	SYNTAX	INTEGER { ieee8021d (1), cutthru (2), auto (3) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
                "Set bridging mode for the port."
	::= { ciscoEsPortEntry 36 }

ciscoEsPortActiveMode OBJECT-TYPE
	SYNTAX	INTEGER { ieee8021d (1), cutthru (2), unknown (3) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
                "Operational bridging mode for the port."
	::= { ciscoEsPortEntry 37 }

ciscoEsPortErrThreshold OBJECT-TYPE
	SYNTAX	INTEGER (0..100)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Threshold error rate when the port moves from
		 cut-through to store and forward mode."
	::= { ciscoEsPortEntry 38 }

ciscoEsPortLearningState OBJECT-TYPE
	SYNTAX	INTEGER 
		{
			normal (1),
			disableSrcLearning (2),
			disableDstnLearning (3),
			disableLearning (4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Configure learning state on this port."
	::= { ciscoEsPortEntry 39 }

ciscoEsPortRuntlessMode OBJECT-TYPE
	SYNTAX	INTEGER { on (1), off (2) } 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Turn on/off runtless filtering on this port.  When this
		 this mode is turned on, no runts will be forwarded."
	::= { ciscoEsPortEntry 40 }

ciscoEsPortType OBJECT-TYPE
	SYNTAX	INTEGER 
		{ 
		 type-10BaseT            (1),  -- 10 Mb Ethernet Twisted Pair
		 type-StkPort            (2),  -- 280 Mb Port
		 type-100BaseT           (3),  -- 100 Mb Ethernet Twisted Pair
		 type-100BaseFx          (4),  -- 100 Mb Ethernet Fiber
	         type-10BaseT-4          (5),  -- 10 Mb Ethernet Twisted Pair 4 port
		 type-10Base2            (6),  -- 10 Mb Ethernet Thinnet 3 port
		 type-10BaseFL           (7),  -- 10 Mb Ethernet Fiber 3 port
		 type-ATM155             (8),  -- 155 Mb ATM Fiber
		 unknown                 (9),
                 type-100VG-Fx           (10), -- 100(VG)Mb Fiber
                 type-100VG-Tx           (11), -- 100(VG)Mb Copper
                 type-ISL-FX             (12), -- ISL FX
                 type-ISL-TX             (13), -- ISL TX
                 type-R2503              (14)  -- Latte 2503 Router
		 }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
                "Type of port."
	::= { ciscoEsPortEntry 41 }

ciscoEsPortCDPTimeToLive OBJECT-TYPE
	SYNTAX	INTEGER(0..255)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The advertised time-to-live parameter on all CDP messages
		generated by this switch on this vlan."
	::= { ciscoEsPortEntry 42 }

ciscoEsPortFastPort OBJECT-TYPE
        SYNTAX  INTEGER {
                disable(1),
                enable(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Indicates whether the port is enable or disable
                for fast port support.  When fast port is enable,
                port state will go to forwarding as soon as the
                link is up."
        ::= { ciscoEsPortEntry 43 }

ciscoEsPortISLOperStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                trunking(1),
                non-trunking(2)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The current operational mode for an ISL port." 
        ::= { ciscoEsPortEntry 44 }

ciscoEsPortISLAdminStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                on(1),
                off(2),
                desirable (3),
                auto (4)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Used to configure the DISL modes for an ISL trunk port."
        ::= { ciscoEsPortEntry 45 }
-- EtherSwitch Port station table

ciscoEsPortStnTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsPortStnEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
                "Port station table."        
	::= { ciscoEsPort 3 }

ciscoEsPortStnEntry OBJECT-TYPE
	SYNTAX	CiscoEsPortStnEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of the Conceptual row in the Port station table."
	INDEX { 
                  ciscoEsPortStnSwitchNumber,
                  ciscoEsPortStnPortNum, 
                  ciscoEsPortStnAddress 
              }
	::= { ciscoEsPortStnTable 1 }

CiscoEsPortStnEntry ::= SEQUENCE {
        ciscoEsPortStnSwitchNumber      INTEGER,
	ciscoEsPortStnPortNum		INTEGER,
	ciscoEsPortStnAddress           MacAddr,            
	ciscoEsPortStnLocation		INTEGER,
	ciscoEsPortStnSrcFrames		Counter,
	ciscoEsPortStnSrcBytes		Counter,
	ciscoEsPortStnDestnFrames       Counter,
	ciscoEsPortStnDestnBytes	Counter,
	ciscoEsPortStnPortOfExit        OCTET STRING
        }

ciscoEsPortStnSwitchNumber  OBJECT-TYPE
	SYNTAX	INTEGER (1..8)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Switch number determined by the port number
		that the switch is connected to in a
		Matrix or as determined by the Stack Management 
		software when two switches are connected back
		to back."
	::= { ciscoEsPortStnEntry 1 }

ciscoEsPortStnPortNum OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
                "Port number corresponding to this entry."
	::= { ciscoEsPortStnEntry 2 }

ciscoEsPortStnAddress OBJECT-TYPE
	SYNTAX	MacAddr
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
                "Station MAC address."
	::= { ciscoEsPortStnEntry 3 }

ciscoEsPortStnLocation OBJECT-TYPE
	SYNTAX	INTEGER {local (1), remote (2) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
                "Where the station is located."
	::= { ciscoEsPortStnEntry 4 }

ciscoEsPortStnSrcFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
                "Number of frames with this station as the source."
	::= { ciscoEsPortStnEntry  5}


ciscoEsPortStnSrcBytes OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
                "Number of Bytes with this station as the source."
	::= { ciscoEsPortStnEntry 6}

ciscoEsPortStnDestnFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
                "Number of frames with this station as the destination."
	::= { ciscoEsPortStnEntry 7 }

ciscoEsPortStnDestnBytes OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
                "Number of bytes with this station as the destination."
	::= { ciscoEsPortStnEntry 8 }

ciscoEsPortStnPortOfExit OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(4))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit string that identifies the ports that frames
		destined to this address are forwarded to when received
		on this port.
		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
                EtherSwitch 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'." 

        ::= { ciscoEsPortStnEntry 9 }

-- An "optimized" version of the port station table

ciscoEsOptPortStaTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsOptPortStaEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of station addresses known at an
		individual port.  This table is designed to reduce
		the number of SNMP GETNEXT requests.  This is done
		by packing many values into an octet string.  (The
		maximum size frame should be used to return the
		result.) The instance returned for a GETNEXT is
		the value that identifies the last 'row' in the
		octet string.  When the table is completely
		retrieved with one or more GETNEXTs, duplicate
		entries may be present, and entries may be skipped
		if the table is changing while being retrieved."
	::= { ciscoEsPort 2 }

ciscoEsOptPortStaEntry OBJECT-TYPE
	SYNTAX	CiscoEsOptPortStaEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of the rows in the optimized port
		station address table.	Rows can not be created or
		deleted via SNMP requests."
	INDEX	{ 
                  ciscoEsPortSwitchNumber,
                  ciscoEsPortNumber,
		  ciscoEsOptPortStaPos 
		}

	::= { ciscoEsOptPortStaTable 1 }

CiscoEsOptPortStaEntry ::= SEQUENCE {
	ciscoEsOptPortStaPos	INTEGER,
	ciscoEsOptPortStaVal	OCTET STRING
	}

ciscoEsOptPortStaPos OBJECT-TYPE
	SYNTAX	INTEGER (0..65535)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Third index for items in the optimized port
		station address table."
	::= { ciscoEsOptPortStaEntry 1 }

ciscoEsOptPortStaVal OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"An OCTET STRING containing a multiple number of
		stations from a port station address table. Each entry
		is encoded in the following format:
		Station MAC address - 6 octets
		Location 1 - local
		         2 - remote - 1 octet
		Port of exit Mask   - 4 octets  
	        Source Frame Count  - 4 octets (integer in little endian)
	        Destn Frame Count   - 4 octets (integer in little endian)
	        Source Byte Count   - 4 octets (integer in little endian)
	        Destn Byte Count    - 4 octets (integer in little endian)

		The Port of exit mask is encoded in its raw form as stored
		in the switch.
          		       Octet 1
                Bit position  7  6  5  4  3  2  1  0 
	        Port Number  31 30 29 28 27 26 25 24
          		       Octet 2
                Bit position  7  6  5  4  3  2  1  0 
	        Port Number  23 22 21 20 19 18 17 16
          		       Octet 3
                Bit position  7  6  5  4  3  2  1  0 
	        Port Number  15 14 13 12 11 10  9  8
          		       Octet 4
                Bit position  7  6  5  4  3  2  1  0 
	        Port Number   7  6  5  4  3  2  1 CPU "
	::= { ciscoEsOptPortStaEntry 2 }

-- VLAN Table 
-- Supports dynamic configuration of vlans

ciscoEsVLANPortTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsVLANPortEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"VLAN configuration table."
	::= { ciscoEsVLANs 1 }

ciscoEsVLANPortEntry OBJECT-TYPE
	SYNTAX	CiscoEsVLANPortEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of each row in the vlan Table"
	INDEX	{ 
			ciscoEsVLANPortVLANNumber, 
			ciscoEsVLANPortSwitchNumber
		}
	::= { ciscoEsVLANPortTable 1 }

CiscoEsVLANPortEntry ::= SEQUENCE {
	ciscoEsVLANPortVLANNumber           INTEGER,
	ciscoEsVLANPortSwitchNumber        INTEGER,
        ciscoEsVLANPortPorts               OCTET STRING
	}

ciscoEsVLANPortVLANNumber  OBJECT-TYPE
	SYNTAX	INTEGER (0..63)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"VLAN identifier for this row."
	::= { ciscoEsVLANPortEntry 1 }

ciscoEsVLANPortSwitchNumber  OBJECT-TYPE
	SYNTAX	INTEGER (1..8)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Switch number determined by the port number
		that the switch is connected to in a
		Matrix or as determined by the Stack Management 
		software when two switches are connected back
		to back."
	::= { ciscoEsVLANPortEntry 2 }

ciscoEsVLANPortPorts OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(4))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The set of ports in this switch which belong to this 
                VLAN. 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
                EtherSwitch 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'." 
        ::= { ciscoEsVLANPortEntry 3 }

-- VLAN information Table

ciscoEsVLANInfoTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsVLANInfoEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"VLAN Information table."
	::= { ciscoEsVLANs 2 }

ciscoEsVLANInfoEntry OBJECT-TYPE
	SYNTAX	CiscoEsVLANInfoEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of each row in the vlan Table"
	INDEX	{ ciscoEsVLANInfoVLANNumber }
	::= { ciscoEsVLANInfoTable 1 }

CiscoEsVLANInfoEntry ::= SEQUENCE {
	ciscoEsVLANInfoVLANNumber               INTEGER,
	ciscoEsVLANInfoState                   INTEGER,
	ciscoEsVLANInfoName		      DisplayString,
        ciscoEsVLANInfoBaseAddr                MacAddr,
	ciscoEsVLANInfoIfIndex                 INTEGER,
	ciscoEsVLANInfoIpState                 INTEGER,
	ciscoEsVLANInfoIpAddress               IpAddress,
	ciscoEsVLANInfoIpSubnetMask            IpAddress,
	ciscoEsVLANInfoIpDefaultGateway        IpAddress,
        ciscoEsVLANInfoStp                     INTEGER,
        ciscoEsVLANInfoNumStations             Gauge,
        ciscoEsVLANInfoMaxStations             INTEGER
	}

ciscoEsVLANInfoVLANNumber  OBJECT-TYPE
	SYNTAX	INTEGER (0..63)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"VLAN identifier for this row."
	::= { ciscoEsVLANInfoEntry 1 }


ciscoEsVLANInfoState  OBJECT-TYPE
	SYNTAX	INTEGER { active (1), inactive (2) }
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Current state of the vlan. If a vlan has at least
		 one port, it is considered active (1)."
	::= { ciscoEsVLANInfoEntry 2 }

ciscoEsVLANInfoName OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (1..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"User defined name of the vlan."
	::= { ciscoEsVLANInfoEntry 3}

ciscoEsVLANInfoBaseAddr  OBJECT-TYPE
	SYNTAX	MacAddr
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
                "The MAC address assigned to this vlan. This address
                 is the MAC address of the lowest numbered port in the
                 vlan."
	::= { ciscoEsVLANInfoEntry 4 }

ciscoEsVLANInfoIfIndex  OBJECT-TYPE
	SYNTAX	INTEGER 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The ifIndex of the interface entry corresponding
                 to each vlan."
	::= { ciscoEsVLANInfoEntry 5 }

ciscoEsVLANInfoIpState  OBJECT-TYPE
	SYNTAX	INTEGER { disabled (1), auto-bootp(2), always-bootp (3) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		 "IP configuration for this vlan."
	::= { ciscoEsVLANInfoEntry 6 }

ciscoEsVLANInfoIpAddress  OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
                "IP Address assigned to this vlan. Changes to the
                 IP Address of the vlan to which the management
                 station belongs cause loss of connectivity until
                 the management station updates its information about
                 the IP Address."
	::= { ciscoEsVLANInfoEntry 7 }

ciscoEsVLANInfoIpSubnetMask  OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The subnet mask for this vlan."
	::= { ciscoEsVLANInfoEntry 8 }

ciscoEsVLANInfoIpDefaultGateway  OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The IP Address of the default gateway for this VLAN."
	::= { ciscoEsVLANInfoEntry 9 }

ciscoEsVLANInfoStp OBJECT-TYPE
	SYNTAX	INTEGER { on (1), off (2) }
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Turn Spanning tree on or off."
	::= { ciscoEsVLANInfoEntry 10 }

ciscoEsVLANInfoNumStations OBJECT-TYPE
	SYNTAX	Gauge
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Number of local stations (nodes) in the vlan."
	::= { ciscoEsVLANInfoEntry 11 }

ciscoEsVLANInfoMaxStations OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Aggregate of the highest number of local stations
		(nodes) in the vlan calculated separately on each
		box."
	::= { ciscoEsVLANInfoEntry 12 }


-- VLAN Spanning tree Group

ciscoEsVLANStpTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsVLANStpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Spanning tree information table for each vlan."
	::= { ciscoEsVLANs 3 }

ciscoEsVLANStpEntry OBJECT-TYPE
	SYNTAX	CiscoEsVLANStpEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of each row in the vlan specific spanning 
                 tree information table."
	INDEX	{ ciscoEsVLANStpVLANIndex }
	::= { ciscoEsVLANStpTable 1 }

CiscoEsVLANStpEntry ::= SEQUENCE {
	ciscoEsVLANStpVLANIndex	              INTEGER,
        ciscoEsVLANStpPriority                 INTEGER,
        ciscoEsVLANStpTimeSinceTopologyChange  TimeTicks,
        ciscoEsVLANStpTopChanges               Counter,
        ciscoEsVLANStpDesignatedRoot           BridgeId,
        ciscoEsVLANStpRootCost                 INTEGER,
        ciscoEsVLANStpRootPort                 INTEGER,
        ciscoEsVLANStpMaxAge                   INTEGER,
        ciscoEsVLANStpHelloTime                INTEGER,
        ciscoEsVLANStpHoldTime                 INTEGER,
        ciscoEsVLANStpForwardDelay             INTEGER,
        ciscoEsVLANStpBridgeMaxAge             INTEGER,
        ciscoEsVLANStpBridgeHelloTime          INTEGER,
        ciscoEsVLANStpBridgeForwardDelay       INTEGER
	}
                
ciscoEsVLANStpVLANIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..63)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Integer reference to the vlan number in the vlan table."
        ::= { ciscoEsVLANStpEntry 1 }
               
ciscoEsVLANStpPriority OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The value of the write-able portion of the Bridge
                ID, i.e., the first two octets of the (8 octet
                long) Bridge ID.  The other (last) 6 octets of the
                Bridge ID are given by the value of
                ciscoEsVLANBaseBridgeAddress. The bridge ID corresponds
                to the particular instance of spanning tree running
                in this vlan"
        ::= { ciscoEsVLANStpEntry 2 }

ciscoEsVLANStpTimeSinceTopologyChange OBJECT-TYPE
        SYNTAX  TimeTicks
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The time (in hundredths of a second) since the
                last time a topology change was detected by the
                bridge entity."
        REFERENCE
                "IEEE 802.1D-1990: Section 6.8.1.1.3"
        ::= { ciscoEsVLANStpEntry 3 }

ciscoEsVLANStpTopChanges OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of topology changes detected by
                this vlan since the management entity was last
                reset or initialized."
        REFERENCE
                "IEEE 802.1D-1990: Section 6.8.1.1.3"
        ::= { ciscoEsVLANStpEntry 4 }

ciscoEsVLANStpDesignatedRoot OBJECT-TYPE
        SYNTAX  BridgeId
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The bridge identifier of the root of the spanning
                tree as determined by the Spanning Tree Protocol
                as executed by this node.  This value is used as
                the Root Identifier parameter in all Configuration
                Bridge PDUs originated by this vlan."
        REFERENCE
                "IEEE 802.1D-1990: Section 4.5.3.1"
        ::= { ciscoEsVLANStpEntry 5 }

ciscoEsVLANStpRootCost OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The cost of the path to the root as seen from
                this vlan."
        REFERENCE
                "IEEE 802.1D-1990: Section 4.5.3.2"
        ::= { ciscoEsVLANStpEntry 6 }

ciscoEsVLANStpRootPort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The port number of the port which offers the
                lowest cost path from this vlan to the root
                bridge."
        REFERENCE
                "IEEE 802.1D-1990: Section 4.5.3.3"
        ::= { ciscoEsVLANStpEntry 7 }

ciscoEsVLANStpMaxAge OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The maximum age of Spanning Tree Protocol
                information learned from the network on any port
                before it is discarded, in units of hundredths of
                a second.  This is the actual value that this
                vlan is currently using."
        REFERENCE
                "IEEE 802.1D-1990: Section 4.5.3.4"
        ::= { ciscoEsVLANStpEntry 8 }

ciscoEsVLANStpHelloTime OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The amount of time between the transmission of
                Configuration bridge PDUs by this node on any port
                when it is the root of the spanning tree or trying
                to become so, in units of hundredths of a second.
                This is the actual value that this vlan is
                currently using."
        REFERENCE
                "IEEE 802.1D-1990: Section 4.5.3.5"
        ::= { ciscoEsVLANStpEntry 9 }

ciscoEsVLANStpHoldTime OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "This time value determines the interval length
                during which no more than two Configuration bridge
                PDUs shall be transmitted by this vlan, in units
                of hundredths of a second."
        REFERENCE
                "IEEE 802.1D-1990: Section 4.5.3.14"
        ::= { ciscoEsVLANStpEntry 10 }

ciscoEsVLANStpForwardDelay OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "This time value, measured in units of hundredths
                of a second, controls how fast a port changes its
                spanning state when moving towards the Forwarding
                state.  The value determines how long the port
                stays in each of the Listening and Learning
                states, which precede the Forwarding state.  This
                value is also used, when a topology change has
                been detected and is underway, to age all dynamic
                entries in the Forwarding Database.  [Note that
                this value is the one that this vlan is
                currently using, in contrast to
                ciscoEsVLANStpBridgeForwardDelay which is the value that
                this vlan and all others would start using
                if/when this vlan were to become the root.]"
        REFERENCE
                "IEEE 802.1D-1990: Section 4.5.3.6"
        ::= { ciscoEsVLANStpEntry 11 }

ciscoEsVLANStpBridgeMaxAge OBJECT-TYPE
        SYNTAX  INTEGER (600..4000)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The value that all bridges use for MaxAge when
                this vlan is acting as the root.  Note that
                802.1D-1990 specifies that the range for this
                parameter is related to the value of
                ciscoEsVLANStpBridgeHelloTime. The granularity of this
                timer is specified by 802.1D-1990 to be 1 second.
                An agent may return a badValue error if a set is
                attempted to a value which is not a whole number
                of seconds."
        REFERENCE
                "IEEE 802.1D-1990: Section 4.5.3.8"
        ::= { ciscoEsVLANStpEntry 12 }

ciscoEsVLANStpBridgeHelloTime OBJECT-TYPE
        SYNTAX  INTEGER (100..1000)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The value that all bridges use for HelloTime when
                this vlan is acting as the root.  The
                granularity of this timer is specified by 802.1D-
                1990 to be 1 second.  An agent may return a
                badValue error if a set is attempted to a value
                which is not a whole number of seconds."
        REFERENCE
                "IEEE 802.1D-1990: Section 4.5.3.9"
        ::= { ciscoEsVLANStpEntry 13 }

ciscoEsVLANStpBridgeForwardDelay OBJECT-TYPE
        SYNTAX  INTEGER (400..3000)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The value that all bridges use for ForwardDelay
                when this vlan is acting as the root.  Note that
                802.1D-1990 specifies that the range for this
                parameter is related to the value of
                ciscoEsVLANStpBridgeMaxAge.  The granularity of this
                timer is specified by 802.1D-1990 to be 1 second.
                An agent may return a badValue error if a set is
                attempted to a value which is not a whole number
                of seconds."
        REFERENCE
                "IEEE 802.1D-1990: Section 4.5.3.10"
        ::= { ciscoEsVLANStpEntry 14 }

-- VLAN Station Table

ciscoEsVLANStationTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsVLANStationEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Stations seen in each vlan."
	::= { ciscoEsVLANs 4 }

ciscoEsVLANStationEntry OBJECT-TYPE
	SYNTAX	CiscoEsVLANStationEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of each row in the vlan specific 
                 station table."
	INDEX	{ 
			ciscoEsVLANStationVLANIndex, 
			ciscoEsVLANStationBoxNum, 
			ciscoEsVLANStationAddress 
		}
	::= { ciscoEsVLANStationTable 1 }

CiscoEsVLANStationEntry ::= SEQUENCE {
	ciscoEsVLANStationVLANIndex	        INTEGER,
	ciscoEsVLANStationBoxNum 	        INTEGER,
	ciscoEsVLANStationAddress	        OCTET STRING,
	ciscoEsVLANStationPort 	                INTEGER,
	ciscoEsVLANStationTraffic	        OCTET STRING
        }
        
ciscoEsVLANStationVLANIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..63)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Integer reference to the vlan number in the vlan table."        
        ::= { ciscoEsVLANStationEntry 1 }

ciscoEsVLANStationBoxNum OBJECT-TYPE
        SYNTAX  INTEGER (1..8)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Integer reference to the switch number on which the table entry
            resides."
        ::= { ciscoEsVLANStationEntry 2 }

ciscoEsVLANStationAddress OBJECT-TYPE
        SYNTAX	OCTET STRING (SIZE(6))
        ACCESS	read-only
        STATUS	mandatory
        DESCRIPTION
    	        "The Station's MAC address."
        ::= { ciscoEsVLANStationEntry 3 }

ciscoEsVLANStationPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The source port for the Station."
        ::= { ciscoEsVLANStationEntry 4 }

ciscoEsVLANStationTraffic OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(4))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A bit string that identifies with value of one of
		the ports that this station has generated traffic
		to or from. 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
                EtherSwitch 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'." 

        ::= { ciscoEsVLANStationEntry 5 }


-- An "optimized" version of the vlan station table

ciscoEsOptVLANStaTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsOptVLANStaEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of station addresses known at an
		individual port.  This table is designed to reduce
		the number of SNMP GETNEXT requests.  This is done
		by packing many values into an octet string.  (The
		maximum size frame should be used to return the
		result.) The instance returned for a GETNEXT is
		the value that identifies the last 'row' in the
		octet string.  When the table is completely
		retrieved with one or more GETNEXTs, duplicate
		entries may be present, and entries may be skipped
		if the table is changing while being retrieved."
	::= { ciscoEsVLANs 5 }

ciscoEsOptVLANStaEntry OBJECT-TYPE
	SYNTAX	CiscoEsOptVLANStaEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of the rows in the optimized port
		station address table.	Rows can not be created or
		deleted via SNMP requests."
	INDEX	{ 
                  ciscoEsVLANStationVLANIndex, 
		  ciscoEsVLANStationBoxNum, 
		  ciscoEsOptVLANStaPos 
		}

	::= { ciscoEsOptVLANStaTable 1 }

CiscoEsOptVLANStaEntry ::= SEQUENCE {
	ciscoEsOptVLANStaPos	INTEGER,
	ciscoEsOptVLANStaVal	OCTET STRING
	}

ciscoEsOptVLANStaPos OBJECT-TYPE
	SYNTAX	INTEGER (0..65535)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Third index for items in the optimized port
		station address table."
	::= { ciscoEsOptVLANStaEntry 1 }

ciscoEsOptVLANStaVal OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"An OCTET STRING containing a multiple number of
		stations from the vlan station address table. Each entry
		is encoded in the following format:
		Station MAC address - 6 octets
		Port of Entry       - 1 octet
		Traffic Mask        - 4 octets  

		The traffic mask is encoded in its raw form as stored
		in the switch.
          		       Octet 1
                Bit position  7  6  5  4  3  2  1  0 
	        Port Number  31 30 29 28 27 26 25 24
          		       Octet 2
                Bit position  7  6  5  4  3  2  1  0 
	        Port Number  23 22 21 20 19 18 17 16
          		       Octet 3
                Bit position  7  6  5  4  3  2  1  0 
	        Port Number  15 14 13 12 11 10  9  8
          		       Octet 4
                Bit position  7  6  5  4  3  2  1  0 
	        Port Number   7  6  5  4  3  2  1 CPU "
	::= { ciscoEsOptVLANStaEntry 2 }

ciscoEsTransitedConfiguredVLANs OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(128))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
            "A string of octets containing one bit per VLAN in the management
            domain.  The first octet corresponds to VLANs with VlanIndex 1
            through 8; the second octet to VLANs 9 through 16; etc.  The most
            significant bit of each octet corresponds to the lowest value
            VlanIndex in that octet.  If the bit correspond to a VLAN is set to
            '1', then the VLAN is a configured transited VLAN on the local
            device.  (Default VLANs which must transit the local device are
            always considered to be 'configured transited VLANs'.)  Any attempt
            to set a bit string which has: more bits set than the local device
            can transit; or does not have all bits set corresponding to default
            VLANs which must transit the device; or set any bits corresponding
            to non-existant VLANs (VLANs whose IDs are not defined in the
            management domain) will be completely rejected as an illegal
            value."

    ::= { ciscoEsVLANs 6 }

ciscoEsTransitedVLANs OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(128))
    ACCESS  read-only
    STATUS  mandatory        
    DESCRIPTION
            "A string of octets containing one bit per VLAN in the management
            domain.  The first octet corresponds to VLANs with VlanIndex 1
            through 8; the second octet to VLANs 9 through 16; etc.  The most
            significant bit of each octet corresponds to the lowest value
            VlanIndex in that octet.  If the bit corresponding to a VLAN is set
            to '1', then the VLAN transits the local device either because it
            was configured to or because it was selected to automatically by
            the selection algorithm."

    ::= { ciscoEsVLANs 7 }

-- EtherChannel Table. 

ciscoEsECTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsECEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The EtherChannel table."
	::= { ciscoEsEChannel 1 }

ciscoEsECEntry OBJECT-TYPE
	SYNTAX	CiscoEsECEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of each row in the EtherChannel 
                 table."
	INDEX	{ 
                   ciscoEsECSwitchNumber,
                   ciscoEsECNumber
                }
	::= { ciscoEsECTable 1 }

CiscoEsECEntry ::= SEQUENCE {
	ciscoEsECSwitchNumber     INTEGER,
	ciscoEsECNumber           INTEGER,
        ciscoEsECPorts            OCTET STRING
        }

ciscoEsECSwitchNumber  OBJECT-TYPE
	SYNTAX	INTEGER (1..8)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Switch number determined by the port number
		that the switch is connected to in a
		Matrix or as determined by the Stack Management 
		software when two switches are connected back
		to back."
	::= { ciscoEsECEntry 1 }

ciscoEsECNumber  OBJECT-TYPE
	SYNTAX	INTEGER (1..8)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The EtherChannel number for this row."
	::= { ciscoEsECEntry 2 }

ciscoEsECPorts OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(4))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The set of ports in this switch which are active in this 
                EtherChannel. 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
                EtherSwitch 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'."
        ::= { ciscoEsECEntry 3 }


-- EPS Filter Group

ciscoEsFilterTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsFilterEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Filters set up in the switch."
	::= { ciscoEsFilter 1 }

ciscoEsFilterEntry OBJECT-TYPE
	SYNTAX	CiscoEsFilterEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of each row in the filter table."
	INDEX	{ 
			ciscoEsFilterSwitchNumber, 
			ciscoEsFilterStationAddress,
	        	ciscoEsFilterType
		}
	::= { ciscoEsFilterTable 1 }

CiscoEsFilterEntry ::= SEQUENCE {
        ciscoEsFilterSwitchNumber    INTEGER,   
        ciscoEsFilterStationAddress  MacAddr,
        ciscoEsFilterType      	     INTEGER,
        ciscoEsFilterPorts           OCTET STRING,
        ciscoEsFilterMask            OCTET STRING,
	ciscoEsFilterRemoteSwitch    INTEGER,
	ciscoEsFilterRemotePort      INTEGER,
	ciscoEsFilterStatus          INTEGER
        }

ciscoEsFilterSwitchNumber  OBJECT-TYPE
	SYNTAX	INTEGER (1..8)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Switch number determined by the port number
		that the switch is connected to in a
		Matrix or as determined by the Stack Management 
		software when two switches are connected back
		to back."
        ::= { ciscoEsFilterEntry 1 }

ciscoEsFilterStationAddress OBJECT-TYPE
        SYNTAX  MacAddr
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The destination MAC address in a frame to which
                this entry's filtering information applies."
	::= { ciscoEsFilterEntry 2 }


ciscoEsFilterType OBJECT-TYPE
        SYNTAX  INTEGER {
		    source-filter (1),
		    destination-filter (2)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "There are two types of filters
		 (i) source filters which act on the source address
		 portion of a packet and
		 (ii) destination filters which act on the destination 
		 address portion of a packet."
        ::= { ciscoEsFilterEntry 3 }

ciscoEsFilterPorts OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(4))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The set of ports to which this filter is applied.
                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
                EtherSwitch 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'."
        ::= { ciscoEsFilterEntry 4 }

ciscoEsFilterMask OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(4))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The filter mask for this station. The semantics of the
		filter mask depend on the type of filter.
                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
                EtherSwitch 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'."
        ::= { ciscoEsFilterEntry 5 }

ciscoEsFilterRemoteSwitch OBJECT-TYPE
	SYNTAX INTEGER (0..8)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION 
		"In case of destination filters you can specify 
		 a particular port in a remote box as the destination
		 port for a given station address. A value of 0 indicates
		 no remote switch is configured."
	::= { ciscoEsFilterEntry 6 }

ciscoEsFilterRemotePort OBJECT-TYPE
	SYNTAX INTEGER (0..29)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION 
		"In case of destination filters you can specify 
		 a particular port in a remote box as the destination
		 port for a given station address. A value of 0 indicates
		 no remote ports assigned."
	::= { ciscoEsFilterEntry 7 }

ciscoEsFilterStatus OBJECT-TYPE
	SYNTAX INTEGER { valid (1), invalid (2) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION 
		"GET request always returns valid (1). Set this object
	         to invalid (2) to delete an entry."
	::= { ciscoEsFilterEntry 8 }


-- EPS Router Group
-- Latte & Mocha

ciscoEsRouterTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF CiscoEsRouterEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Router Port information."
	::= { ciscoEsRouter 1 }

ciscoEsRouterEntry OBJECT-TYPE
	SYNTAX	CiscoEsRouterEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Definition of each row in the Router Table"
	INDEX	{ ciscoEsRouterBox, ciscoEsRouterPort }
	::= { ciscoEsRouterTable 1 }

CiscoEsRouterEntry ::= SEQUENCE {
	ciscoEsRouterBox        	INTEGER,
	ciscoEsRouterPort	        INTEGER,
	ciscoEsRouterOpState     	INTEGER,
	ciscoEsRouterNetAddr		IpAddress,
	ciscoEsRouterBoardId		INTEGER,
	ciscoEsRouterRev			INTEGER
	}

ciscoEsRouterBox OBJECT-TYPE
	SYNTAX	INTEGER (1..8)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION 
		"Index into the router table row."
	::= { ciscoEsRouterEntry 1 }

ciscoEsRouterPort OBJECT-TYPE
    SYNTAX  INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION 
		"Index into the router table column."
	::= { ciscoEsRouterEntry 2 }

ciscoEsRouterOpState OBJECT-TYPE
	SYNTAX	INTEGER { up (1), down (2) , empty(3), unknown(4)}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION 
		"GET request returns up (1) down(2) for operation state."
	::= { ciscoEsRouterEntry 3 }

ciscoEsRouterNetAddr OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
                "The IP address of the router."
    ::= { ciscoEsRouterEntry 4 }

ciscoEsRouterBoardId OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
                "The Board Id of the router."
    ::= { ciscoEsRouterEntry 5 }

ciscoEsRouterRev OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
                "The Board Rev of the router."
    ::= { ciscoEsRouterEntry 6 }



-- Copyright 1995 Cisco Systems Inc.
-- All rights reserved.

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

ciscoEsStackCfgChange TRAP-TYPE
        ENTERPRISE  ciscoEsConfig
        VARIABLES   { sysName, sysLocation, ciscoEsNumSwitches }    
        DESCRIPTION
		"This trap is generated when there is a change in the 
		 stack configuration i.e. when either a new switch is 
		 added to the stack or a switch leaves a stack.
		 ciscoEsNumSwitches indicates the current number of switches
		 which are part of the stack. The management station has to 
		 update its stack information according to the
	         stack table."
        ::= 1

ciscoEsStackProStackMatrixChange TRAP-TYPE
        ENTERPRISE  ciscoEsConfig
        VARIABLES   { sysName, sysLocation, ciscoEsProStackMatrixStatus }
        DESCRIPTION
		"This trap is generated when the stack switches over
		 from primary to secondary Matrix or from 
		 secondary back to primary Matrix."
        ::= 2

ciscoEsStackTempChange TRAP-TYPE
        ENTERPRISE  ciscoEsStack
        VARIABLES   { sysName, sysLocation, ciscoEsStackSwitchTemperature }
        DESCRIPTION
                "This trap is generated when the temperature in a 
                 switch exceeds normal or returns to normal."    
        ::= 1

-- Store and forward entry trap

ciscoEsPortStrNFwdEntry TRAP-TYPE
        ENTERPRISE  ciscoEsPort
        VARIABLES   { sysName, sysLocation, ciscoEsPortActiveMode }    
        DESCRIPTION
                "This trap is generated when a port automatically
		 enters store and forward mode when the error rate 
		 exceeds the threshold."
        ::= 1


-- Traps for the Spanning Tree Protocol

ciscoEsVLANNewRoot TRAP-TYPE
        ENTERPRISE  ciscoEsVLANs
        VARIABLES   { ciscoEsVLANInfoVLANNumber }    
        DESCRIPTION
                "This trap is a vlan specific version of the
                newRoot trap as described in RFC1493.
        
                The newRoot trap indicates that the sending agent
                has become the new root of the Spanning Tree; the
                trap is sent by a bridge soon after its election
                as the new root, e.g., upon expiration of the
                Topology Change Timer immediately subsequent to
                its election.  Implementation of this trap is
                optional."
        ::= 1

ciscoEsVLANTopologyChange TRAP-TYPE
        ENTERPRISE  ciscoEsVLANs
        VARIABLES   { ciscoEsVLANInfoVLANNumber }    
        DESCRIPTION
                "This trap is a vlan specific version of the
                topologyChange trap as described in RFC1493.
                
                A topologyChange trap is sent by a bridge when
                any of its configured ports transitions from the
                Learning state to the Forwarding state, or from
                the Forwarding state to the Blocking state.  The
                trap is not sent if a newRoot trap is sent for the
                same transition.  Implementation of this trap is
                optional."
        ::= 2

ciscoEsEtherChannelFailed TRAP-TYPE
        ENTERPRISE  ciscoEsEChannel
        VARIABLES   {sysName, sysLocation, ciscoEsECPorts }    
        DESCRIPTION
                "This trap is sent when one of the links in an
                 EtherChannel fail. The variable ciscoEsECPorts
                 contains the ports which are operational in the
                 EtherChannel."   
        ::= 1

END