CPQN5226A-MIB
DEFINITIONS ::= BEGIN

--
--  April 22, 1997
--
--  This MIB is designed for the Agent for the Compaq 5226A Switch
--  of products. 
--
--  Management Software will refer to any SNMP based Network Management 
--  Application.
--
--  Note that the term DURABLE implies that the value for the object is
--  stored in the NVRAM of the unit and will be retained across power
--  cycles.
--
IMPORTS
    enterprises, Counter                            FROM RFC1155-SMI
    DisplayString, ifIndex                          FROM RFC1213-MIB
    OBJECT-TYPE                                     FROM RFC-1212
    CpqnRowStatus                                   FROM CPQNUNIF-MIB
    TRAP-TYPE                                       FROM RFC-1215;

    compaq                      OBJECT IDENTIFIER ::= { enterprises 232 }
    compaq-dallas-npd           OBJECT IDENTIFIER ::= { compaq 101 }
    switchedMedia               OBJECT IDENTIFIER ::= { compaq-dallas-npd 2 }
    cpqn52nn                    OBJECT IDENTIFIER ::= { switchedMedia 2 }

    cpqn52nnOIDInfo             OBJECT IDENTIFIER ::= { cpqn52nn 1 }
    cpqn52nnModuleInfo          OBJECT IDENTIFIER ::= { cpqn52nn 2 }
    cpqn52nnMemoryInfo          OBJECT IDENTIFIER ::= { cpqn52nn 3 }
    cpqn52nnPortInfo            OBJECT IDENTIFIER ::= { cpqn52nn 4 }
    cpqn52nnIfStatusInfo        OBJECT IDENTIFIER ::= { cpqn52nn 5 }
    cpqn52nnIfStatsInfo         OBJECT IDENTIFIER ::= { cpqn52nn 6 }
    cpqn52nnSwitchStatsInfo     OBJECT IDENTIFIER ::= { cpqn52nn 7 }
    cpqn52nnBusMonitorInfo      OBJECT IDENTIFIER ::= { cpqn52nn 8 }

    cpqn52nnHashInfo            OBJECT IDENTIFIER ::= { cpqn52nnMemoryInfo 1 }
    cpqn52nnRmonMemory          OBJECT IDENTIFIER ::= { cpqn52nnMemoryInfo 2 }
    cpqn52nnMemoryThreshold     OBJECT IDENTIFIER ::= { cpqn52nnMemoryInfo 3 }
    cpqn52nnDramInfo            OBJECT IDENTIFIER ::= { cpqn52nnMemoryInfo 4 }

    cpqn52nnHashMemory          OBJECT IDENTIFIER ::= { cpqn52nnSwitchStatsInfo 1 }
    cpqn52nnDropPkts            OBJECT IDENTIFIER ::= { cpqn52nnSwitchStatsInfo 2 }

    cpqn52nnQuadCascade         OBJECT IDENTIFIER ::= { cpqn52nnIfStatsInfo 1 }
    cpqn52nnTlan                OBJECT IDENTIFIER ::= { cpqn52nnIfStatsInfo 2 }

--
--  The OIDInfo Group: This group contains nodes representing the sysObjectIDs
--  for all units that support this Enterprise MIB.
--
    cpqn5226                    OBJECT IDENTIFIER ::= { cpqn52nnOIDInfo 1 }
    cpqn5226A                   OBJECT IDENTIFIER ::= { cpqn52nnOIDInfo 3 }

--
--  The ModuleInfo Group: This group contains MIB objects that pertain to the
--  Switch unit and its operation. Some of the parameters provide information
--  but most allow the user to set parameters which will affect the operation
--  of the Switch. Care must be taken when setting these parameters as changes
--  may drastically affect the Switch's operation.
--
--  The 5226 and 5226A first release version will only include objects 1-4
--
cpqn52nnVT100ScreenRefresh  OBJECT-TYPE
    SYNTAX      INTEGER (1..255)
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
    "DURABLE: This object will determine the rate, in seconds, at which
    the VT100 screen will refresh the automatic fields (e.g., statistics).
    The default value will be 5 seconds."
    ::= { cpqn52nnModuleInfo 1 }

cpqn52nnBooterWriteCycles  OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
    "This object will allow the user to see the number of erase/writes that 
    have been made to the Booter firmware sectors on the FLASH PROM chip."
    ::= { cpqn52nnModuleInfo 2 }

cpqn52nnRuntimeWriteCycles  OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
    "This object will allow the user to see the number of erase/writes that 
    have been made to the Runtime firmware sectors on the FLASH PROM chip."
    ::= { cpqn52nnModuleInfo 3 }

cpqn52nnSwitchModeType  OBJECT-TYPE
    SYNTAX      INTEGER
    {
    store-and-forward(1),
    cut-through(2),
    fragment-free(3)
    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
    "DURABLE: This object will determine the operational mode of
    the switch. The default will be store-and-forward(1). 
    Fragment-free is not supported on 5226 nor 5226A." 
    ::= { cpqn52nnModuleInfo 4 }

cpqn52nnCreateTimeout OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
    "DURABLE: The minimum number of 5 minute intervals a table entry can have a status
    of underCreate before the agent may delete the object.  The default value 
    will be 1 5 minute interval."
    ::= { cpqn52nnModuleInfo 5 }

--
--  Power Supply Table: This table will supply information regarding the
--  power supplies in the unit. The table will always return 2 entries, one
--  for each supply. If a supply is in and working the status will be on(1).
--  If a supply is in but bad or has no power, the status will be off(2). If 
--  the supply is not in, the status is na(3).
--
--  The 5226 version will not include this Table.
--
cpqn52nnPowerSupplyTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF Cpqn52nnPowerSupplyEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION 
    "A table of system power supply specific information."
    ::= { cpqn52nnModuleInfo 6 }

cpqn52nnPowerSupplyEntry    OBJECT-TYPE
    SYNTAX      Cpqn52nnPowerSupplyEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION 
    "A list of information for every power supply installed"
    INDEX       { cpqn52nnPsIndex }
    ::= { cpqn52nnPowerSupplyTable 1 }

Cpqn52nnPowerSupplyEntry ::= SEQUENCE {
    cpqn52nnPsIndex            
	INTEGER,
    cpqn52nnPsStatus           
	INTEGER
    }

cpqn52nnPsIndex    OBJECT-TYPE
    SYNTAX      INTEGER
	{
	power-supply-a(1),      -- Power Supply A
	power-supply-b(2)       -- Power Supply B
	}
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION 
    "A unique value for each power supply."
    ::= { cpqn52nnPowerSupplyEntry 1 }

cpqn52nnPsStatus   OBJECT-TYPE
    SYNTAX INTEGER 
    {
    good(1),        -- power supply exists and operates okay
    bad(2),         -- power supply exists but is bad or no power applied
    not-present(3)  -- power supply does not exist
    }
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
    "The status of the power supply. The value good(1) is returned if the 
    power supply identified by cpqn52nnPSIndex is running properly. The 
    value bad(2) is returned if the power supply identified by cpqn52nnPSIndex 
    has failed to operate properly but has been inserted into the slot. This 
    will include an inserted power supply with no power. The value na(3) is 
    returned if the power supply has not been inserted into the slot."
    ::= { cpqn52nnPowerSupplyEntry 2 }

--
--  The cpqn52nnHashInfo Group: This group consists of a subset of objects which
--  allow the user to get more information on the Hash Table mechanism.
--
--
cpqn52nnHashTableSize	OBJECT-TYPE
    SYNTAX   INTEGER
	{
	eight-K(1),			-- 8 K
	sixteen-K(2),		-- 16 K
	thirty-two-K(3),	-- 32 K
	sixty-four-K(4)		-- 64 K
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: The number of address table entries, in 1024 increments, 
    allowed for the switch.  NOTE that a smaller size table will increase 
    the likelihood of broadcasts based on unknown unicasts i.e. addresses 
    that have not been learned. The 5226 and 5226A allows set of 8K only."
    ::= { cpqn52nnHashInfo 1 }

--
--  The cpqn52nnRmonMemory Group: This group consists of a subset of objects which
--  allow the user to control how much memory is allocated to the individual
--  RMON group implementations (4 group RMON). 
--
--  The 5226 version will not support this group.  The 5226A first release version will
--  not support this group.
--
cpqn52nnMaxMemory OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
    "Kbytes of memory that can be used for RMON. Actually this number does not
    include some overhead needed to support the software. This number should be
    set in the implementation of the agent to assure that memory is always
    available for the overhead."
    ::= { cpqn52nnRmonMemory 1 }

cpqn52nnMemAllocFailure OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
    "The time of the last memory allocation failure that resulted from no 
    more physical memory available in the agent. This value is in seconds"
    ::= { cpqn52nnRmonMemory 2 }

cpqn52nnRmonMemoryCeiling OBJECT-TYPE
    SYNTAX      INTEGER
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION     
    "DURABLE: Kbytes of memory RMON code may use, not counting any overhead."
    ::= { cpqn52nnRmonMemory 3 }

cpqn52nnStatisticsMemoryCeiling OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION     
    "DURABLE: Kbytes of memory that the RMON statistics group may use."
    ::= { cpqn52nnRmonMemory 4 }

cpqn52nnHistoryMemoryCeiling OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION     
    "DURABLE: Kbytes of memory that the RMON history group may use."
    ::= { cpqn52nnRmonMemory 5 }

cpqn52nnAlarmMemoryCeiling OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION     
    "DURABLE: Kbytes of memory that the RMON alarm group may use."
    ::= { cpqn52nnRmonMemory 6 }

cpqn52nnEventMemoryCeiling OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION     
    "DURABLE: Kbytes of memory that the RMON event group may use."
    ::= { cpqn52nnRmonMemory 7 }

cpqn52nnRmonMemoryUsed OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS          read-only
    STATUS      mandatory
    DESCRIPTION     
    "Kbytes of memory used by RMON, rounded up."
    ::= { cpqn52nnRmonMemory 8 }

cpqn52nnStatisticsMemoryUsed OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION     
    "Kbytes of memory that the RMON statistics group has used."
    ::= { cpqn52nnRmonMemory 9 }

cpqn52nnHistoryMemoryUsed OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION     
    "Kbytes of memory that the RMON history group has used."
    ::= { cpqn52nnRmonMemory 10 }

cpqn52nnAlarmMemoryUsed OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION     
    "Kbytes of memory that the RMON alarm group has used."
    ::= { cpqn52nnRmonMemory 11 }

cpqn52nnEventMemoryUsed OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION     
    "Kbytes of memory that the RMON event group has used."
    ::= { cpqn52nnRmonMemory 12 }

--
--  The cpqn52nnMemoryThreshold Group:
--
--  The 5226 and 5226A first release version will not support this group.
-- 

cpqn52nnMaxPktMemory		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Kbytes of memory that can be used for Packet Memory."
    ::= { cpqn52nnMemoryThreshold 1 }

cpqn52nnGlobalMemThreshTrapEnable		OBJECT-TYPE
    SYNTAX   INTEGER
	{
	enabled(1),
	disabled(2)
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Enable Traps for all thresholding entries in the Global Memory
    group of objects.  The default value is disabled."
    ::= { cpqn52nnMemoryThreshold 2 }

cpqn52nnBcastMemThreshEnable		OBJECT-TYPE
    SYNTAX   INTEGER
	{
	enabled(1),
	disabled(2)
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Enable thresholding for the Broadcast packet count.  The default
    value is disabled."
    ::= { cpqn52nnMemoryThreshold 3 }

cpqn52nnBcastPktCeiling		OBJECT-TYPE
    SYNTAX   INTEGER (0..4095)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Value in 256 packet increments of the falling threshold of 
    the maximum number of broadcast packets allowed in packet buffer memory."
    ::= { cpqn52nnMemoryThreshold 4 }

cpqn52nnBcastHysteresisCtl		OBJECT-TYPE
    SYNTAX   INTEGER (0..255)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Number of packets that when added to the Bcast packet ceiling
    produces the Rising Threshold value of the maximum number of broadcast
    packets allowed in packet buffer memory."
    ::= { cpqn52nnMemoryThreshold 5 }

cpqn52nnBcastPktCnt		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Indicator of many broadcast packets are actually in packet buffer memory."
    ::= { cpqn52nnMemoryThreshold 6 }

cpqn52nnBcastCongestionStatus		OBJECT-TYPE
    SYNTAX      INTEGER
    {
    congested(1),           -- broadcast memory congested
    not-congested(2)        -- broadcast memory not congested
    }
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Indicator of broadcast packet congestion.  When congested, the number of
    broadcast packets in packet buffer memory has exceeded the rising threshold, 
    but has not gone below the falling threshold."
    ::= { cpqn52nnMemoryThreshold 7 }


cpqn52nnPortMemThreshTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF Cpqn52nnPortMemThreshEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table defines something."
    ::= { cpqn52nnMemoryThreshold 8 }

cpqn52nnPortMemThreshEntry OBJECT-TYPE
    SYNTAX    Cpqn52nnPortMemThreshEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table has one entry for each port. The index 
    into the table is cpqn52nnPortThreshIfIndex."
    INDEX     { cpqn52nnPortThreshIfIndex }
    ::= { cpqn52nnPortMemThreshTable 1 }

Cpqn52nnPortMemThreshEntry ::= SEQUENCE {
    cpqn52nnPortThreshIfIndex              INTEGER,
    cpqn52nnPortTxPktThreshEnable            INTEGER,
    cpqn52nnPortTxPktCongestionStatus      INTEGER,
    cpqn52nnPortTxPktCnt                INTEGER,
    cpqn52nnPortTxPktCeiling               INTEGER,
    cpqn52nnPortTxPktHysteresisCtl         INTEGER,
    cpqn52nnPortRxMemThreshEnable          INTEGER,
    cpqn52nnPortRxMemCongestionStatus      INTEGER,
    cpqn52nnPortRxMemSectorCnt             INTEGER,
    cpqn52nnPortRxMemCeiling               INTEGER,
    cpqn52nnPortRxMemHysteresisCtl         INTEGER,
    cpqn52nnPortCongestionTrapEnable       INTEGER
    }

cpqn52nnPortThreshIfIndex OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only 
    STATUS   mandatory
    DESCRIPTION
    "The Interface Index as represented in MIB-II."
    ::= { cpqn52nnPortMemThreshEntry 1 }

cpqn52nnPortTxPktThreshEnable		OBJECT-TYPE
    SYNTAX   INTEGER
	{
	enabled(1),
	disabled(2)
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Enables or disabled transmit packet thresholding on a 
    per port basis."
    ::= { cpqn52nnPortMemThreshEntry 2 }

cpqn52nnPortTxPktCongestionStatus		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Indicator of port transmit packet congestion.  When congested, the number of
    transmit packets in packet buffer memory for the port has exceeded the rising
    threshold, but has not gone below the falling threshold."
    ::= { cpqn52nnPortMemThreshEntry 3 }

cpqn52nnPortTxPktCnt		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Indicator of how many transmit packets for the port are actually in packet 
    buffer memory."
    ::= { cpqn52nnPortMemThreshEntry 4 }

cpqn52nnPortTxPktCeiling		OBJECT-TYPE
    SYNTAX   INTEGER (0..4096)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Value in 256 packet increments of the falling threshold of 
    the maximum number of transmit packets allowed for the port in packet
    buffer memory."
    ::= { cpqn52nnPortMemThreshEntry 5 }

cpqn52nnPortTxPktHysteresisCtl		OBJECT-TYPE
    SYNTAX   INTEGER (0..255)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Number of packets that when added to the port's transmit packet
    ceiling produces the Rising Threshold value of the maximum number of transmit
    packets allowed for the port in packet buffer memory."
    ::= { cpqn52nnPortMemThreshEntry 6 }

cpqn52nnPortRxMemThreshEnable		OBJECT-TYPE
    SYNTAX   INTEGER
	{
	enabled(1),
	disabled(2)
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Enables or disables receive memory thresholding on a 
    per port basis."
    ::= { cpqn52nnPortMemThreshEntry 7 }

cpqn52nnPortRxMemCongestionStatus		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Indicator of port receive memory congestion.  When congested, the amount of 
    receive packet buffer memory used by the port has exceeded the rising
    threshold, but has not gone below the falling threshold."
    ::= { cpqn52nnPortMemThreshEntry 8 }

cpqn52nnPortRxMemSectorCnt		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Indicator of how amount Packet Receive memory, in 2Kbyte increments, is 
    actually being used by the port."
    ::= { cpqn52nnPortMemThreshEntry 9 }

cpqn52nnPortRxMemCeiling		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Value in 32Kbyte increments of the falling threshold of 
    the maximum receive packet memory allowed for the port in packet
    buffer memory."
    ::= { cpqn52nnPortMemThreshEntry 10 }

cpqn52nnPortRxMemHysteresisCtl		OBJECT-TYPE
    SYNTAX   INTEGER (1..15)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Value in 2Kbyte increments that when added to the port's 
    receive memory ceiling produces the Rising Threshold value of the
    maximum receive memory allowed for the port in packet buffer memory."
    ::= { cpqn52nnPortMemThreshEntry 11 }

cpqn52nnPortCongestionTrapEnable		OBJECT-TYPE
    SYNTAX   INTEGER
	{
	enabled(1),
	disabled(2)
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Enables or disabled traps due to congestion states for any Port."
    ::= { cpqn52nnPortMemThreshEntry 12 }

--
--  The cpqn52nnDramTable Group: This table allows users to get information on
--	the type, amount, and speed of the different DRAM components in the unit.
--
--  The 5226 and 5226A first release version will not support this group.
--
cpqn52nnDramTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF Cpqn52nnDramEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table defines the unit's Dram information."
    ::= { cpqn52nnDramInfo 1 }

cpqn52nnDramEntry OBJECT-TYPE
    SYNTAX    Cpqn52nnDramEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table has one entry for each Dram component. The index 
    into the table is cpqn52nnDramIndex."
    INDEX     { cpqn52nnDramIndex }
    ::= { cpqn52nnDramTable 1 }

Cpqn52nnDramEntry ::= SEQUENCE {
    cpqn52nnDramIndex			INTEGER,
    cpqn52nnDramSize			INTEGER,
    cpqn52nnDramType			INTEGER,
    cpqn52nnDramSpeed			INTEGER
    }

cpqn52nnDramIndex OBJECT-TYPE
    SYNTAX   INTEGER
    {
    packet-buffers(1),			-- Packet Buffer DRAM
    cpu-dram(2)					-- General DRAM
    }
    ACCESS   read-only 
    STATUS   mandatory
    DESCRIPTION
    "A simple index representing the area using the DRAM."
    ::= { cpqn52nnDramEntry 1 }

cpqn52nnDramSize		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Size of DRAM being used, in KBytes."
    ::= { cpqn52nnDramEntry 2 }

cpqn52nnDramType		OBJECT-TYPE
    SYNTAX   INTEGER
    {
    fastpage-mode(1),
    edo(2),
    synchronous(3)
    }
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Type of DRAM being used."
    ::= { cpqn52nnDramEntry 3 }

cpqn52nnDramSpeed		OBJECT-TYPE
    SYNTAX   INTEGER
    {
    dram-70ns(1),
    dram-60ns(2)
    }
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Speed of DRAM being used."
    ::= { cpqn52nnDramEntry 4 }

--
--  The cpqn52nnPortStatusTable Group: For Port Information. The objects
--  in this table will allow a user to gain additional Port info as
--  well as configure the ports.
--
--  The 5226 and 5226A first release version will not support this group.
--
cpqn52nnPortStatusTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF Cpqn52nnPortStatusEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table defines certain Port Level parameters for each port."
    ::= { cpqn52nnPortInfo 1 }

cpqn52nnPortStatusEntry OBJECT-TYPE
    SYNTAX    Cpqn52nnPortStatusEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table has one entry for each port. The index 
    into the table is cpqn52nnPortStatusId."
    INDEX     { cpqn52nnPortIfIndex, cpqn52nnPortIfMauIndex }
    ::= { cpqn52nnPortStatusTable 1 }

Cpqn52nnPortStatusEntry ::= SEQUENCE {
    cpqn52nnPortIfIndex				INTEGER,
    cpqn52nnPortIfMauIndex 	                INTEGER,
    cpqn52nnPortName				DisplayString,
    cpqn52nnPortType				INTEGER,
    cpqn52nnMdiMdixStatus			INTEGER,
    cpqn52nnMdiMdixEnable			INTEGER
    }

cpqn52nnPortIfIndex OBJECT-TYPE
    SYNTAX    INTEGER
    ACCESS    read-only
    STATUS    mandatory
    DESCRIPTION
    "Switch interface number that corresponds to the interface in MIB-II." 
    ::= { cpqn52nnPortStatusEntry 1 }

cpqn52nnPortIfMauIndex	OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION	
    "Uniquely identifies the port in the CPQN52nn unit for which
    additional info is being obtained."
    ::= { cpqn52nnPortStatusEntry 2 }

cpqn52nnPortName  OBJECT-TYPE
    SYNTAX   DisplayString (SIZE (1..16))
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: User defined name for port."
    ::= { cpqn52nnPortStatusEntry 3 }

cpqn52nnPortType OBJECT-TYPE
    SYNTAX    INTEGER
    {
    empty(1),               -- empty port slot
    eth-10-baseT(2),        -- ethernet 10 Base-T port
    tx(3),                  -- 100Base-TX
    fxsc(4),                -- 100Base-FX with duplex SC connector
    fxst(5),                -- 100Base-FX with ST connectors
    eth-10-100(6),          -- ethernet 10/100 port
    fddi-das(7),            -- Dual Attach FDDI Uplink (fiber)
    fddi-sas(8),            -- Single Attach FDDI Uplink (fiber)
    fddi-sas-tp-pmd(9),     -- Single Attach FDDI Uplink (utp)
    atm(10),                -- ATM uplink
    unknown(1000)           -- unknown port type
    }
    ACCESS    read-only
    STATUS    mandatory
    DESCRIPTION
    "This object identifies all possible port types. Note that unknown 
    Port Types are represented by the value 1000."
    ::= { cpqn52nnPortStatusEntry 4 }

cpqn52nnMdiMdixStatus OBJECT-TYPE
    SYNTAX    INTEGER
    {
	mdi(1),
	mdi-x(2)
    }
    ACCESS    read-only
    STATUS    mandatory
    DESCRIPTION
    "This object identifies all possible port types."
    ::= { cpqn52nnPortStatusEntry 5 }

cpqn52nnMdiMdixEnable OBJECT-TYPE
    SYNTAX    INTEGER
    {
	mdi(1),
	mdi-x(2),
	auto-sensing(3)
    }
    ACCESS    read-write
    STATUS    mandatory
    DESCRIPTION
    "This object identifies all possible port types."
    ::= { cpqn52nnPortStatusEntry 6 }

--
--  The cpqn52nnPortMonitorTable Group: This table allows users to configure 
--	the Monitor Port feature. The basis for this table is that a single port
--	is defined with a set of ports to monitor. Each row must be created 
--	uniquely using a Row Set.
--
--	Note that there are currently only 2 entries allowed.
--
--
cpqn52nnPortMonitorTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF Cpqn52nnPortMonitorEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table defines monitor information."
    ::= { cpqn52nnPortInfo 2 }

cpqn52nnPortMonitorEntry OBJECT-TYPE
    SYNTAX    Cpqn52nnPortMonitorEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table can be empty. Entries can be added as needed. The index 
    into the table is cpqn52nnPortMonitorIndex."
    INDEX     { cpqn52nnPortMonitorIndex }
    ::= { cpqn52nnPortMonitorTable 1 }

Cpqn52nnPortMonitorEntry ::= SEQUENCE {
    cpqn52nnPortMonitorIndex            INTEGER,
    cpqn52nnPortMonitorRowStatus        CpqnRowStatus,
    cpqn52nnPortMonitorIfIndex          INTEGER,
    cpqn52nnPortMonitoredIfMap          INTEGER,
    cpqn52nnPortMonitoredDataType       INTEGER
    }

cpqn52nnPortMonitorIndex OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "A simple index represnting the number of the entry being examined."
    ::= { cpqn52nnPortMonitorEntry 1 }

cpqn52nnPortMonitorRowStatus        OBJECT-TYPE
    SYNTAX              CpqnRowStatus
    ACCESS              read-write
    STATUS              mandatory
    DESCRIPTION
    "DURABLE:  The status of this row entry. Rows are added to this table
    using 'row sets'.  When a row is added, this object must be set to
    row-valid(1). To delete a row from this table, set this object for the
    row to row-invalid(2). This object will always read as row-valid(1)."
    ::= { cpqn52nnPortMonitorEntry 2 }

cpqn52nnPortMonitorIfIndex OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE An index based on the interface index in MIB-II. This will 
    represent the interface to be used to monitor the data of others as 
    defined by cpqn52nnPortMonitoredIfMap."
    ::= { cpqn52nnPortMonitorEntry 3 }

cpqn52nnPortMonitoredIfMap		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write 
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: A bitmap indicating the ports whose data is being monitored. 
    The bits used to represent the are the same as the IfIndex representation
    of the ports. e.g. port 25 --> 25th bit. An example is 0x00000003, 
    indicates that ports 1 and 3 are being monitored. The port doing the 
    monitoring is defined by cpqn52nnPortMonitorIfIndex for this row in the 
    table."
    ::= { cpqn52nnPortMonitorEntry 4 }

cpqn52nnPortMonitoredDataType OBJECT-TYPE
    SYNTAX   INTEGER
	{
	tx-only(1),                     -- PortMonitor TX data from selected ports.
	rx-only(2),                     -- PortMonitor RX data from selected ports.
	both-tx-and-rx(3)               -- PortMonitor TX & RX data from selected ports.
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: The type of data to be monitored by the monitor port. 
    Selecting TX or RX means that only the TX or RX data will be monitored 
    by the monitor port."
    ::= { cpqn52nnPortMonitorEntry 5 }

--
--  The cpqn52nnPortBondingTable Group: For Uplink Port Bonding. The objects
--  in this table will allow a user to set up Bonding between the Uplink ports.
--	A detailed explanation of Port Bonding is provided in the User Manual for
--	the product.
--
--	NOTE: Currently, only 2 entries are allowed with a bonding of only 2 ports.
--	A port may be used more than once.
--
--  The 5226 and 5226A first release will not support this group.
--
cpqn52nnPortBondingTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF Cpqn52nnPortBondingEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table defines uplink bonding information."
    ::= { cpqn52nnPortInfo 3 }

cpqn52nnPortBondingEntry OBJECT-TYPE
    SYNTAX    Cpqn52nnPortBondingEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "The index into the table is cpqn52nnBondIndex. The table can be empty."
    INDEX     { cpqn52nnBondIndex }
    ::= { cpqn52nnPortBondingTable 1 }

Cpqn52nnPortBondingEntry ::= SEQUENCE {
    cpqn52nnBondIndex                   INTEGER,
    cpqn52nnBondRowStatus               CpqnRowStatus,
    cpqn52nnBondMap                     INTEGER
    }

cpqn52nnBondIndex OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only 
    STATUS   mandatory
    DESCRIPTION
    "A simple index representing the entry number."
    ::= { cpqn52nnPortBondingEntry 1 }

cpqn52nnBondRowStatus        OBJECT-TYPE
    SYNTAX              CpqnRowStatus
    ACCESS              read-write
    STATUS              mandatory
    DESCRIPTION
       "DURABLE:  The status of this row entry. Rows are added to this table
       using 'row sets'.  When a row is added, this object must be set to
       row-valid(1). To delete a row from this table, set this object for the
       row to row-invalid(2). This object will always read as row-valid(1)."
    ::= { cpqn52nnPortBondingEntry 2 }

cpqn52nnBondMap		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write 
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: A bitmap indicating the uplink ports that are bonded together. 
    The bits used to represent the uplink ports are the same as the If Index
    representations of the ports. e.g. port 25 --> 25th bit. An example is
    0x05000000, indicates that uplink ports 25 and 27 are bonded."
    ::= { cpqn52nnPortBondingEntry 3 }

--
--  The cpqn52nnIfStatusTable Group: For Interface Status Information.
--  The objects in this table will allow a user to obtain additional 
--  status information on the sublayer switch interfaces that deliver packets
--  to the forwarding module of the switch. This group also provides
--  configuration parameters for the sublayer interfaces.
--
--  The 5226 and 5226A first release version will support objects 1-3 only.
--
cpqn52nnIfStatusTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF Cpqn52nnIfStatusEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table defines certain switch interface level parameters for each 
    interface."
    ::= { cpqn52nnIfStatusInfo 1 }

cpqn52nnIfStatusEntry OBJECT-TYPE
    SYNTAX    Cpqn52nnIfStatusEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table has one entry for each switch interface. The index 
    into the table is cpqn52nnIfStatusIfIndex."
    INDEX     { cpqn52nnIfStatusIfIndex }
    ::= { cpqn52nnIfStatusTable 1 }

Cpqn52nnIfStatusEntry ::= SEQUENCE {
    cpqn52nnIfStatusIfIndex             INTEGER,
    cpqn52nnIfStatusIfType              INTEGER,
    cpqn52nnIfStpStatus                 INTEGER,
    cpqn52nnIfResetStatus               INTEGER,
    cpqn52nnIfLearningStatus            INTEGER,
    cpqn52nnIfAgingStatus               INTEGER,
    cpqn52nnIfAgingTime                 INTEGER,
    cpqn52nnIfSwitchModeSrcStatus       INTEGER,
    cpqn52nnIfSwitchModeDestStatus      INTEGER,
    cpqn52nnIfSwitchModeSrc             INTEGER,
    cpqn52nnIfSwitchModeDest            INTEGER,
    cpqn52nnIfArbPriority               INTEGER
}

cpqn52nnIfStatusIfIndex     OBJECT-TYPE
    SYNTAX	INTEGER
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION	
    "The value of the instance of the ifIndex object,
    defined in MIB-II, for this switch interface. "
    ::= { cpqn52nnIfStatusEntry 1 }

cpqn52nnIfStatusIfType     OBJECT-TYPE
    SYNTAX	INTEGER
	{
	quad-cascade-lsi-l64381(1),
	tlan-ti-tnete110(2),
        qe110-lsi(3)
	}
    ACCESS	read-only
    STATUS	mandatory
    DESCRIPTION	
    "The type of device used for this switch interface."
    ::= { cpqn52nnIfStatusEntry 2 }

cpqn52nnIfStpStatus  OBJECT-TYPE
    SYNTAX   INTEGER
    { 
    enabled(1),
    disabled(2)
    }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "When enabled(1), this interface will participate in 
    Spanning Tree activities.  When disabled(2), this interface 
    will not participate in the Spanning Tree algorithm.
    Default is enabled(1).  DURABLE."
    ::= { cpqn52nnIfStatusEntry 3 }

cpqn52nnIfResetStatus OBJECT-TYPE
    SYNTAX    INTEGER
    {
    interface-not-resetting(1),    -- standard answer for get request
    reset-interface(2)
    }
    ACCESS    read-write
    STATUS    mandatory
    DESCRIPTION
    "This object will allow the user to physically reset an interface on
    the CPQN52nn. The advantage over a general reset is that the other
    interfaces are left unaffected in their operation. The agent will 
    always return interface-not-resetting(1) when the object is read."
    ::= { cpqn52nnIfStatusEntry 4 }

cpqn52nnIfLearningStatus  OBJECT-TYPE
    SYNTAX   INTEGER
    { 
    enabled(1),
    disabled(2)
    }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "When enabled(1), this interface can enter the learning
    state.  When disabled(2), this interface is not allowed to
    enter the learning state.  When disabled(2), Spanning Tree 
    must be set to disabled. Default is enabled(1).  DURABLE."
    ::= { cpqn52nnIfStatusEntry 5 }

cpqn52nnIfAgingStatus  OBJECT-TYPE
    SYNTAX   INTEGER
    { 
    enabled(1),
    disabled(2)
    }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "When enabled(1), this interface ages learned entries in the
    Address Filter/Forward table. When disabled(2), this interface
    does not age entries in the address table.
    Default is enabled(1).  DURABLE."
    ::= { cpqn52nnIfStatusEntry 6 }

cpqn52nnIfAgingTime  OBJECT-TYPE
    SYNTAX   INTEGER (10..1000000)
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "The timeout period in seconds for aging out dynamically
    learned forwarding information on the switch interface.
    DURABLE"
    REFERENCE
    "IEEE 802.1D-1990: Section 6.7.1.1.3"
    ::= { cpqn52nnIfStatusEntry 7 }

cpqn52nnIfSwitchModeSrcStatus OBJECT-TYPE
    SYNTAX    INTEGER
    {
    store-and-forward(1),
    cut-through(2),
    fragment-free(3)
    }
    ACCESS    read-only
    STATUS    mandatory
    DESCRIPTION
    "The switch mode for this interface when it is the Source
    in a switch transfer."
    ::= { cpqn52nnIfStatusEntry 8 }

cpqn52nnIfSwitchModeDestStatus OBJECT-TYPE
    SYNTAX    INTEGER
    {
    store-and-forward(1),
    cut-through(2),
    fragment-free(3)
    }
    ACCESS    read-only
    STATUS    mandatory
    DESCRIPTION
    "The switch mode for this interface when it is the Destination
    in a switch transfer."
    ::= { cpqn52nnIfStatusEntry 9 }

cpqn52nnIfSwitchModeSrc OBJECT-TYPE
    SYNTAX    INTEGER
    {
    store-and-forward(1),
    cut-through(2),
    fragment-free(3)
    }
    ACCESS    read-write
    STATUS    mandatory
    DESCRIPTION
    "DURABLE: The switch mode for this interface when it is the Source
    in a switch transfer. The default case is store-and-forward(1)."
    ::= { cpqn52nnIfStatusEntry 10 }

cpqn52nnIfSwitchModeDest OBJECT-TYPE
    SYNTAX    INTEGER
    {
    store-and-forward(1),
    cut-through(2),
    fragment-free(3)
    }
    ACCESS    read-write
    STATUS    mandatory
    DESCRIPTION
    "DURABLE: The switch mode for this interface when it is the Destination 
    in a switch transfer. The default case is store-and-forward(1)."
    ::= { cpqn52nnIfStatusEntry 11 }

cpqn52nnIfArbPriority OBJECT-TYPE
    SYNTAX    INTEGER (0..15)
    ACCESS    read-write
    STATUS    mandatory
    DESCRIPTION
    "DURABLE: The priority mechanism used for arbitration. The possible
    arbitration states and values are as follows:
    
        VALUE                           ARBITRATION
        -----                           -----------
          0                             First-Come-First-Served
        all port same                   Round Robin (Fair)
        all ports varied                Round Robin (Weighted)

	The final case implies that not all ports have the same priority in which 
	case a weighted Round Robin method of arbitration would be used. The default
	case has all ports with a value of 0 (First-Come-First-Served)."
    ::= { cpqn52nnIfStatusEntry 12 }

--
--  The cpqn52nnQuadIfTable: This table allows the user to get 
--	information about configuration and statistics for ports on the 
--	Quad-Cascades.
--
--  The 5226 and 5226A first release version will not support this group.
--
cpqn52nnQuadIfTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF Cpqn52nnQuadIfEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table provides information, on a per port basis, for the Quad
    Cascade devices."
    ::= { cpqn52nnQuadCascade 1 }

cpqn52nnQuadIfEntry OBJECT-TYPE
    SYNTAX    Cpqn52nnQuadIfEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table has one entry for each Port. The indices 
    into the table are cpqn52nnQuadIfIndex."
    INDEX     { cpqn52nnQuadIfIndex }
    ::= { cpqn52nnQuadIfTable 1 }

Cpqn52nnQuadIfEntry ::= SEQUENCE {
    cpqn52nnQuadIfIndex					INTEGER,
    cpqn52nnQuadIfAlignFcsErrors			Counter,
    cpqn52nnQuadIfTxRunts				Counter,
    cpqn52nnQuadIfRxRunts				Counter,
    cpqn52nnQuadIfTotalCollisions			Counter
    }

cpqn52nnQuadIfIndex OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only 
    STATUS   mandatory
    DESCRIPTION
    "An index representing the interface as in MIN-II."
    ::= { cpqn52nnQuadIfEntry 1 }

cpqn52nnQuadIfAlignFcsErrors		OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Shows the number of packets received between 64 and 1518 bytes in 
    length, but were not an integral number of bytes in length, or had 
    a bad Frame Check Sequence."
    ::= { cpqn52nnQuadIfEntry 2 }

cpqn52nnQuadIfTxRunts		OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Shows the number of packets transmitted that were less than 64 bytes 
    in length."
    ::= { cpqn52nnQuadIfEntry 3 }

cpqn52nnQuadIfRxRunts		OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Shows the number of packets received that were less than 64 bytes 
    long that were an integral number of bytes long."
    ::= { cpqn52nnQuadIfEntry 4 }

cpqn52nnQuadIfTotalCollisions		OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Shows the number of collision packets, single and multiple."
    ::= { cpqn52nnQuadIfEntry 5 }

--
--  The cpqn52nnQuadCascadeInfo Group: This group allows the user to get 
--	information about configuration and statistics for ports on the 
--	Quad-Cascades.
--
--  The 5226 and 5226A first release version will not support this group.
--
cpqn52nnQuadIfCfgTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF Cpqn52nnQuadIfCfgEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table provides information, on a per port basis, for the Quad
    Cascade devices."
    ::= { cpqn52nnQuadCascade 2 }

cpqn52nnQuadIfCfgEntry OBJECT-TYPE
    SYNTAX    Cpqn52nnQuadIfCfgEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table has one entry for each Port. The index 
    into the table is cpqn52nnQuadIfIndex."
    INDEX     { cpqn52nnQuadIfCfgIndex, cpqn52nnQuadIfCfgMauIndex }
    ::= { cpqn52nnQuadIfCfgTable 1 }

Cpqn52nnQuadIfCfgEntry ::= SEQUENCE {
    cpqn52nnQuadIfCfgIndex					INTEGER,
    cpqn52nnQuadIfCfgMauIndex 				INTEGER,
    cpqn52nnQuadIfCfgLinkForce 				INTEGER,
    cpqn52nnQuadIfCfgLinkPolarityCorrect		INTEGER
    }

cpqn52nnQuadIfCfgIndex OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only 
    STATUS   mandatory
    DESCRIPTION
    "An index representing the interface as in MIN-II."
    ::= { cpqn52nnQuadIfCfgEntry 1 }

cpqn52nnQuadIfCfgMauIndex OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    ""
    ::= { cpqn52nnQuadIfCfgEntry 2 }

cpqn52nnQuadIfCfgLinkForce OBJECT-TYPE
    SYNTAX   INTEGER
	{
	enabled(1),			-- Enabled Link Test for this port.
	disabled(2)			-- Disable Link Test for this port.
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: When enabled, this object allows the port to transmit 
    even if link integrity fails."
    ::= { cpqn52nnQuadIfCfgEntry 3 }

cpqn52nnQuadIfCfgLinkPolarityCorrect		OBJECT-TYPE
    SYNTAX   INTEGER
	{
	enabled(1),			-- Enabled Link Polarity Correction for this port.
	disabled(2)			-- Disable Link Polarity Correction for this port.
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: When enabled, this allows the port to correct for inverted
    polarity on the twisted pair interface, if an inverted polarity
    condition exists on that port."
    ::= { cpqn52nnQuadIfCfgEntry 4 }

--
--  The cpqn52nnTlanPortIfTable: This table allows the user to get 
--	information about configuration and statistics for ports on the 
--	Tlan.
--
--  The 5226 first release version will not support this group.
--  This group is not applicable to the 5226A.
--
cpqn52nnTlanIfTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF Cpqn52nnTlanIfEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table provides information, on a per port basis, for the Tlan
    devices."
    ::= { cpqn52nnTlan 1 }

cpqn52nnTlanIfEntry OBJECT-TYPE
    SYNTAX    Cpqn52nnTlanIfEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table has one entry for each Port. The index 
    into the table is cpqn52nnTlanIfIndex."
    INDEX     { cpqn52nnTlanIfIndex }
    ::= { cpqn52nnTlanIfTable 1 }

Cpqn52nnTlanIfEntry ::= SEQUENCE {
    cpqn52nnTlanIfIndex	                        INTEGER,
    cpqn52nnTlanIfTxGoodFrms			Counter,
    cpqn52nnTlanIfRxUndersizeFrms 		Counter,
    cpqn52nnTlanIfRxOverruns		 	Counter,
    cpqn52nnTlanIfRxAlignSymbolErrs		Counter
    }

cpqn52nnTlanIfIndex OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only 
    STATUS   mandatory
    DESCRIPTION
    "A simple index representing the Port in the table representing the
    IfIndex in MIB-II."
    ::= { cpqn52nnTlanIfEntry 1 }

cpqn52nnTlanIfTxGoodFrms		OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Shows the number of packets transmitted that were good (no errors)."
    ::= { cpqn52nnTlanIfEntry 2 }

cpqn52nnTlanIfRxUndersizeFrms		OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Shows the number of packets that were "
    ::= { cpqn52nnTlanIfEntry 3 }

cpqn52nnTlanIfRxOverruns		OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Shows the number of packets received that were "
    ::= { cpqn52nnTlanIfEntry 4 }

cpqn52nnTlanIfRxAlignSymbolErrs		OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Shows the number of packets received that had either Alignment errors
    or Symbol errors."
    ::= { cpqn52nnTlanIfEntry 5 }

--
--  The cpqn52nnHashMemory Group: This group consists of a subset of objects which
--  allow the user to control how much memory is allocated to the individual
--  RMON group implementations (4 group RMON). 
--
--  The 5226 and 5226A first release version will not support this group.
--
cpqn52nnHashStaticNum OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "A count of static entries in this switch interface's
    Address Forwarding/Filtering mechanism."
    ::= { cpqn52nnHashMemory 1 }

cpqn52nnHashDynamicNum OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only 
    STATUS   mandatory
    DESCRIPTION
    "A count of dynamic entries in this switch interface's 
    Address Forwarding/Filtering mechanism."
    ::= { cpqn52nnHashMemory 2 }

cpqn52nnHashChainNum OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only 
    STATUS   mandatory
    DESCRIPTION
    "A count of indices in the Address Filter/Forward
    mechanism's hash table which have more than one
    MAC Address entry."
    ::= { cpqn52nnHashMemory 3 }

cpqn52nnHashChainLength OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only 
    STATUS   mandatory
    DESCRIPTION
    "A count of the number of MAC Address entries
    in the longest chain in the Address Filter/Forward
    mechanism's hash table."
    ::= { cpqn52nnHashMemory 4 }

--
--  The cpqn52nnDropPkts Group: This group allows the user to get information
--	about Dropped Packets in the system. The memory is divided into different
--	regions for packet reception and transmission and this groups of objects
--	is desgined to examine all of them. The following areas are examined:
--
--		1. Whole Memory.
--		2. Broadcast Packet Memory.
--		3. Individual Port TX/RX Memory.
--
--	NOTE: The information provided indicates which ports have experienced 
--	dropped packets and a total number of packets dropped. However, the 
--	number does not allow a port by port distinction of packets dropped.
--
--
--  The 5226 first release version will not support this group.
--  The 5226A will not support this group.  
--
cpqn52nnDropsWholeMemoryCtr		OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Counter to indicate the total number of packets dropped due to memory
    overflow. This is exclusive of the other counters in this section."
    ::= { cpqn52nnDropPkts 1 }

cpqn52nnDropsBcastMemoryCtr		OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Counter to indicate the total number of packets dropped due to memory
    overflow in the area handling Broadcast packets only. This is exclusive 
    of the other counters in this section."
    ::= { cpqn52nnDropPkts 2 }

cpqn52nnDropsIfMemoryCtr		OBJECT-TYPE
    SYNTAX   Counter
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Counter to indicate the total number of packets dropped due to memory
    overflow in the area handling interface TX/RX packets only. This is 
    exclusive of the other counters in this section."
    ::= { cpqn52nnDropPkts 3 }

--
--  The cpqn52nnBusMonTable Group: This table allows users to get and set
--  Thresholding information about on either the packet buffer memory or 
--  the MAC controller bus.
--
--	NOTE: THIS TABLE IS NOT BEING IMPLEMENTED IN THE FIRST RELEASE OF THE
--	PRODUCT. THE MAXIMUM NUMBER OF ENTRIES IS 2.
--
--  The 5226 and 5226A version will not support this group.
--
cpqn52nnBusMonTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF Cpqn52nnBusMonEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table defines the unit's utilization information."
    ::= { cpqn52nnBusMonitorInfo 1 }

cpqn52nnBusMonEntry OBJECT-TYPE
    SYNTAX    Cpqn52nnBusMonEntry
    ACCESS    not-accessible
    STATUS    mandatory
    DESCRIPTION
    "This table has one entry for each bus component. The index 
    into the table is cpqn52nnBusMonIndex."
    INDEX     { cpqn52nnBusMonIndex }
    ::= { cpqn52nnBusMonTable 1 }

Cpqn52nnBusMonEntry ::= SEQUENCE {
    cpqn52nnBusMonIndex				INTEGER,
    cpqn52nnBusMonRowStatus     		CpqnRowStatus,
    cpqn52nnBusMonBusType			INTEGER,
    cpqn52nnBusMonDataType			INTEGER,
    cpqn52nnBusMonPktType			INTEGER,
    cpqn52nnBusMonSwitchModeType		INTEGER,
    cpqn52nnBusMonCurrentUtilization	        INTEGER,
    cpqn52nnBusMonPeakUtilization		INTEGER,
    cpqn52nnBusMonRisingThreshold		INTEGER,
    cpqn52nnBusMonFallingThreshold		INTEGER,
    cpqn52nnBusMonAction		        INTEGER,
    cpqn52nnBusMonTrapEnable		        INTEGER
    }

cpqn52nnBusMonIndex OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only 
    STATUS   mandatory
    DESCRIPTION
    "A simple index representing the entry in the table."
    ::= { cpqn52nnBusMonEntry 1 }

cpqn52nnBusMonRowStatus        OBJECT-TYPE
    SYNTAX              CpqnRowStatus
    ACCESS              read-write
    STATUS              mandatory
    DESCRIPTION
	"DURABLE:  The status of this alarm entry."
    ::= { cpqn52nnBusMonEntry 2 }

cpqn52nnBusMonBusType		OBJECT-TYPE
    SYNTAX   INTEGER
	{
	mac-bus(1),				-- MAC controller Bus (HSB)
	mem-bus(2)				-- Packet Memory Bus
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: The type of bus to be monitored."
    ::= { cpqn52nnBusMonEntry 3 }

cpqn52nnBusMonDataType		OBJECT-TYPE
    SYNTAX   INTEGER
	{
	tx-only(1),			-- Monitor TX data from selected ports.
	rx-only(2),			-- Monitor RX data from selected ports.
	both-tx-and-rx(3)		-- Monitor TX & RX data from selected ports.
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: The type of data to be monitored."
    ::= { cpqn52nnBusMonEntry 4 }

cpqn52nnBusMonPktType		OBJECT-TYPE
    SYNTAX   INTEGER
	{
	pkt-data-only(1),		-- Monitor packet data only
	pkt-overhead-only(2),		-- Monitor packet overhead only
	both-data-and-overhead(3)	-- Monitor packet data and overhead
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: The type of data to be monitored."
    ::= { cpqn52nnBusMonEntry 5 }

cpqn52nnBusMonSwitchModeType		OBJECT-TYPE
    SYNTAX   INTEGER
	{
        store-and-forward-only(1),	-- monitor store and forward packets only
        cut-through-only(2),		-- monitor cut through packets only
	both-switch-modes(3)		-- Monitor packets in both modes
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: The type of packets monitored for data."
    ::= { cpqn52nnBusMonEntry 6 }

cpqn52nnBusMonCurrentUtilization		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Utilization of the selected port calculated as a percentage of
    the total bandwidth available for the bus."
    ::= { cpqn52nnBusMonEntry 7 }

cpqn52nnBusMonPeakUtilization		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
    "Utilization of the selected port calculated as a percentage of
    the total bandwidth available for the bus."
    ::= { cpqn52nnBusMonEntry 8 }

cpqn52nnBusMonRisingThreshold		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: If this threshold is exceeded, then the action listed in 
    ThresholdAction will take place. The value is a % utilzation."
    ::= { cpqn52nnBusMonEntry 9 }

cpqn52nnBusMonFallingThreshold		OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: If this threshold is exceeded, then the action listed in 
    ThresholdAction will take place. The value is a % utilzation."
    ::= { cpqn52nnBusMonEntry 10 }

cpqn52nnBusMonAction		OBJECT-TYPE
    SYNTAX   INTEGER
	{
	filter(1),		-- Filter all packets causing threshold to be exceeded
	backpressure(2),	-- Exert backpressure to prevent excess
	filter-broadcast(3)  	-- Filter only the Broadcast packets
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: If this threshold is exceeded, then the action listed in 
    ThresholdAction will take place. The value is an absolute number in
    bytes/sec."
    ::= { cpqn52nnBusMonEntry 11 }

cpqn52nnBusMonTrapEnable		OBJECT-TYPE
    SYNTAX   INTEGER
	{
	enabled(1),
	disabled(2)
	}
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
    "DURABLE: Enable Trap Generation if threshold is exceeded."
    ::= { cpqn52nnBusMonEntry 12 }

--  PROPRIETARY TRAPS
--
--  The 5226 first release version will not these traps.
--  The 5226 version will not support 1-3.
--  The 5226A will support trap 1.
--


cpqn52nnPowerSupplyStatusTrap  TRAP-TYPE
    ENTERPRISE   cpqn52nn
    VARIABLES   {  cpqn52nnPsIndex,
		   cpqn52nnPsStatus }
    DESCRIPTION
    "A cpqn52nnPowerSupplyStatus Trap is sent whenever a power supply
    changes state from voltage-ok to voltage-not-ok or vice versa."
        --#TYPE "PowerSupplyStatusTrap"
        --#SUMMARY "PowerSupplyStatusTrap"
        --#ARGUMENTS {2}
        --#SEVERITY MAJOR
        --#TIMEINDEX 99

    ::= 1

cpqn52nnUplinkInsertedTrap TRAP-TYPE
    ENTERPRISE   cpqn52nn
    VARIABLES   { ifIndex,
                  cpqn52nnPortType }
    DESCRIPTION
    "The cpqn52nnMepInserted trap is sent whenever a MEP, that
    represents a physical interface, is added."
        --#TYPE "UplinkInserted"
        --#SUMMARY "UplinkInserted"
        --#ARGUMENTS {2}
        --#SEVERITY INFORMATIONAL
        --#TIMEINDEX 99
    ::= 2

cpqn52nnUplinkRemovedTrap TRAP-TYPE
    ENTERPRISE   cpqn52nn
    VARIABLES   { ifIndex,
                  cpqn52nnPortType }
    DESCRIPTION
    "The cpqn52nnMepRemoved trap is sent whenever a MEP, that
    represents a physical interface, is removed."
        --#TYPE "UplinkRemoved"
        --#SUMMARY "UplinkRemoved"
        --#ARGUMENTS {2}
        --#SEVERITY INFORMATIONAL
        --#TIMEINDEX 99
    ::= 3

cpqn52nnBusMonRisingThresholdTrap TRAP-TYPE
    ENTERPRISE cpqn52nn
    VARIABLES { cpqn52nnBusMonIndex,
                cpqn52nnBusMonBusType,
                cpqn52nnBusMonCurrentUtilization
              }
    DESCRIPTION
        "The SNMP trap that is generated when an alarm
        entry crosses its rising threshold and generates
        an event that is configured for sending SNMP
        traps."
        --#TYPE "BusMonRisongThresholdTrap"
        --#SUMMARY "BusMonRisingThresholdTrap"
        --#ARGUMENTS {3}
        --#SEVERITY MAJOR
        --#TIMEINDEX 99
    ::= 4

cpqn52nnBusMonFallingThresholdTrap TRAP-TYPE
    ENTERPRISE cpqn52nn
    VARIABLES { cpqn52nnBusMonIndex,
                cpqn52nnBusMonBusType,
                cpqn52nnBusMonCurrentUtilization
              }
    DESCRIPTION
        "The SNMP trap that is generated when an alarm
        entry crosses its falling threshold and generates
        an event that is configured for sending SNMP
        traps."
        --#TYPE "BusMonFallingThresholdTrap"
        --#SUMMARY "BusMonFallingThresholdTrap"
        --#ARGUMENTS {3}
        --#SEVERITY MAJOR
        --#TIMEINDEX 99
    ::= 5

--cpqb52nnAgentCongestionTrap TRAP-TYPE
--    ENTERPRISE cpqn52nn
--    VARIABLES { cpqn52nnCongestionStatus }
--    DESCRIPTION
--        "The SNMP trap that is generated when the management
--        agent detects a congestion state."
--    ::= 6

cpqb52nnGlobalBcastMemCongestionTrap TRAP-TYPE
    ENTERPRISE cpqn52nn
    VARIABLES { cpqn52nnBcastCongestionStatus }
    DESCRIPTION
        "The SNMP trap that is generated when an alarm
        entry crosses its rising or falling threshold and 
        generates an event that is configured for sending 
        SNMP traps."
        --#TYPE "GlobalBcastMemCongestionTrap"
        --#SUMMARY "GlobalBcastMemCongestionTrap"
        --#ARGUMENTS {2}
        --#SEVERITY INFORMATIONAL
        --#TIMEINDEX 99
    ::= 7

cpqb52nnPortTxPktCongestionTrap TRAP-TYPE
    ENTERPRISE cpqn52nn
    VARIABLES { cpqn52nnPortThreshIfIndex,
                cpqn52nnPortTxPktCongestionStatus
              }
    DESCRIPTION
        "The SNMP trap that is generated when an alarm
        entry crosses its rising or falling threshold and 
        generates an event that is configured for sending 
        SNMP traps."
        --#TYPE "PortTxPktCongestionTrap"
        --#SUMMARY "PortTxxPktCongestionTrap"
        --#ARGUMENTS {2}
        --#SEVERITY INFORMATIONAL
        --#TIMEINDEX 99

    ::= 8

cpqb52nnPortRxMemCongestionTrap TRAP-TYPE
    ENTERPRISE cpqn52nn
    VARIABLES { cpqn52nnPortThreshIfIndex,
                cpqn52nnPortRxMemCongestionStatus
			  }
    DESCRIPTION
        "The SNMP trap that is generated when an alarm
        entry crosses its rising or falling threshold and 
        generates an event that is configured for sending 
        SNMP traps."
        --#TYPE "PortRxMemCongestionTrap"
        --#SUMMARY "PortRxMemCongestionTrap"
        --#ARGUMENTS {2}
        --#SEVERITY INFORMATIONAL
        --#TIMEINDEX 99
    ::= 9


END


