RC-CB-SWITCH-FABRIC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Counter64, IpAddress, Unsigned32
        FROM SNMPv2-SMI
    TruthValue, RowStatus, TEXTUAL-CONVENTION, DisplayString
        FROM SNMPv2-TC
    InterfaceIndex
        FROM IF-MIB
    rcCobaltBlue
        FROM RAPID-CITY
    InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB;

rcCobaltBlueMib MODULE-IDENTITY
       LAST-UPDATED     "201910090000Z"
       ORGANIZATION     "Nortel Networks, Enterprise Data"
       CONTACT-INFO     "Yu-Ten Lee
          Postal:        Nortel Networks, Inc.
                         4655 Great America Parkway
                         Santa Clara, CA 95052-8185

                         Tel:           408-495-2560
                         Fax:           408-495-6680
                         E-mail:        ylee@baynetworks.com"

       DESCRIPTION      "Enterprise Data MIB for the CB product family."

       REVISION "201910090000Z" -- 09 October 2019
       DESCRIPTION "Version 11: Add cpu(4)-unknown(24) under rc2kCardTemperatureZoneInfo
	   			to cover temperature sensors on all VSP platforms
			       (Prem)"

       REVISION "201901080000Z" -- 08 Jan 2019
       DESCRIPTION "Version 10: Increased the range of rcFanTrayId from 1..2 to 1..6
			       VOSS 8.0 (Prem)"

       REVISION "201706190000Z" -- 19 June 2017
       DESCRIPTION "Version 9: Increased the range of rcCbQe2kSerdesLinkId
	   		       from 1..640 to 1..768.
			       Requested by Amjadkhan Pathan (submit 34992)
			       for VSP9000 (prempa)"

       REVISION "201402140000Z" -- 14 February 2014
       DESCRIPTION "Version 8: Added rc2kCardZoneTemperature and
	   		       rc2kCardTemperatureZoneInfo."

       REVISION "201401130000Z" -- 13 January 2014
       DESCRIPTION "Version 7: Added rc2kCardShutDownReason."

       REVISION "201310110000Z" -- 11 October 2013
       DESCRIPTION "Version 6: Added types to IMPORTS." 

       REVISION "201301180000Z" -- 18 January 2013
       DESCRIPTION "Version 5: Added rcSlotPowerStatus." 

       REVISION "201102070000Z" -- 7 February 2011
       DESCRIPTION "Version 4: Added rcLoginHostAddressType,
                                     rcLoginHostInetAddress." 

       REVISION "201009160000Z" -- 16 September 2010
       DESCRIPTION "Version 3: Replace most objects with VSP implementation."

       REVISION "200912100000Z" -- 10 December 2009
       DESCRIPTION "Version 2: Add rcCbProfileType to rcCbSwitchFabricScalars group"

       REVISION "200804280000Z" -- 28 April 2008
       DESCRIPTION "Version 1: Initial version"

       ::= { rcCobaltBlue 1 }

DeviceStatus ::= TEXTUAL-CONVENTION
  STATUS	current
  DESCRIPTION	"Standard card states for slotted chassis based products"
  SYNTAX	INTEGER {
			invalid(1),
			down(2),
			up(3),
			disabled(4)
		}

SfDeviceMode ::= TEXTUAL-CONVENTION
  STATUS        current
  DESCRIPTION   "Mode of given Fast SE Device either BME or SE"
  SYNTAX        INTEGER {
                        other (1),
                        bme(2),
                        se(3)
                }

--
-- Object groups within the Cobalt Blue MIB
--

rcCbNotifications         OBJECT IDENTIFIER ::= { rcCobaltBlueMib 0 }
rcCbObjects               OBJECT IDENTIFIER ::= { rcCobaltBlueMib 1 }

rcCbSwitchFabric          OBJECT IDENTIFIER ::= { rcCbObjects 1 }
rcCbSwitchFabricScalars   OBJECT IDENTIFIER ::= { rcCbSwitchFabric 1 }

rcCbSwitchFabricStats	  OBJECT IDENTIFIER ::= { rcCbSwitchFabricScalars 1 }

rcCbSwitchFabricDropPrec1AcceptedPackets	OBJECT-TYPE
	SYNTAX          Counter64
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Accepted number of packets from drop precedence 1. The drop precedence is a function of the front end policer."
        ::= { rcCbSwitchFabricStats 1 }

rcCbSwitchFabricDropPrec1AcceptedBytes		OBJECT-TYPE
	SYNTAX          Counter64
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Accepted number of bytes from drop precedence 1"
        ::= { rcCbSwitchFabricStats 2 }

rcCbSwitchFabricDropPrec1CongestionMarkedPackets                OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Congestion marked number of packets from drop precedence 1."
        ::= { rcCbSwitchFabricStats 3 }

rcCbSwitchFabricDropPrec1CongestionMarkedBytes          OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Congestion marked number of bytes from drop precedence 1."
        ::= { rcCbSwitchFabricStats 4 }

rcCbSwitchFabricDropPrec1DiscardDroppedPackets          OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "WRED dropped number of packets from drop precedence 1."
        ::= { rcCbSwitchFabricStats 5 }

rcCbSwitchFabricDropPrec1DiscardDroppedBytes            OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "WRED dropped number of bytes from drop precedence 1."
        ::= { rcCbSwitchFabricStats 6 }

rcCbSwitchFabricDropPrec2AcceptedPackets        OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Accepted number of packets from drop precedence 2"
        ::= { rcCbSwitchFabricStats 7 }

rcCbSwitchFabricDropPrec2AcceptedBytes          OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Accepted number of bytes from drop precedence 2"
        ::= { rcCbSwitchFabricStats 8 }

rcCbSwitchFabricDropPrec2CongestionMarkedPackets                OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Congestion marked number of packets from drop precedence 2."
        ::= { rcCbSwitchFabricStats 9 }

rcCbSwitchFabricDropPrec2CongestionMarkedBytes          OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Congestion marked number of bytes from drop precedence 2."
        ::= { rcCbSwitchFabricStats 10 }

rcCbSwitchFabricDropPrec2DiscardDroppedPackets          OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "WRED dropped number of packets from drop precedence 2."
        ::= { rcCbSwitchFabricStats 11 }

rcCbSwitchFabricDropPrec2DiscardDroppedBytes            OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "WRED dropped number of bytes from drop precedence 2."
        ::= { rcCbSwitchFabricStats 12 }

rcCbSwitchFabricDropPrec3AcceptedPackets    OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Accepted number of packets from drop precedence 3"
        ::= { rcCbSwitchFabricStats 13 }

rcCbSwitchFabricDropPrec3AcceptedBytes      OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Accepted number of bytes from drop precedence 3"
        ::= { rcCbSwitchFabricStats 14 }

rcCbSwitchFabricDropPrec3CongestionMarkedPackets                OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Congestion marked number of packets from drop precedence 3."
        ::= { rcCbSwitchFabricStats 15 }

rcCbSwitchFabricDropPrec3CongestionMarkedBytes          OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Congestion marked number of bytes from drop precedence 3."
        ::= { rcCbSwitchFabricStats 16 }

rcCbSwitchFabricDropPrec3DiscardDroppedPackets          OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "WRED dropped number of packets from drop precedence 3."
        ::= { rcCbSwitchFabricStats 17 }

rcCbSwitchFabricDropPrec3DiscardDroppedBytes            OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "WRED dropped number of bytes from drop precedence 3."
        ::= { rcCbSwitchFabricStats 18 }

rcCbSwitchFabricDropPrec4AcceptedPackets    OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Accepted number of packets from drop precedence 4"
        ::= { rcCbSwitchFabricStats 19 }

rcCbSwitchFabricDropPrec4AcceptedBytes      OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Accepted number of bytes from drop precedence 4"
        ::= { rcCbSwitchFabricStats 20 }

rcCbSwitchFabricNonWredDroppedPackets           OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Dropped packets due to non Random Early Detection"
        ::= { rcCbSwitchFabricStats 21 }

rcCbSwitchFabricNonWredDroppedBytes             OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Dropped packets bytes due to non Random Early Detection"
        ::= { rcCbSwitchFabricStats 22 }

rcCbSwitchFabricDequeuedPackets         OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Packets dequeued once inside the switch fabric"
        ::= { rcCbSwitchFabricStats 23 }

rcCbSwitchFabricDequeuedBytes           OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Packets bytes dequeued once inside the switch fabric"
        ::= { rcCbSwitchFabricStats 24 }

rcCbSwitchFabricDropPrec1DroppedPackets         OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "non-WRED dropped number of packets from drop precedence 1."
        ::= { rcCbSwitchFabricStats 25 }

rcCbSwitchFabricDropPrec1DroppedBytes           OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "non-WRED dropped number of bytes from drop precedence 1."
        ::= { rcCbSwitchFabricStats 26 }

rcCbSwitchFabricDropPrec2DroppedPackets         OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "non-WRED dropped number of packets from drop precedence 2."
        ::= { rcCbSwitchFabricStats 27 }

rcCbSwitchFabricDropPrec2DroppedBytes           OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "non-WRED dropped number of bytes from drop precedence 2."
        ::= { rcCbSwitchFabricStats 28 }

rcCbSwitchFabricDropPrec3DroppedPackets         OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "non-WRED dropped number of packets from drop precedence 3."
        ::= { rcCbSwitchFabricStats 29 }

rcCbSwitchFabricDropPrec3DroppedBytes           OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "non-WRED dropped number of bytes from drop precedence 3."
        ::= { rcCbSwitchFabricStats 30 }

rcCbSwitchFabricDropPrec4CongestionMarkedPackets                OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Congestion marked number of packets from drop precedence 4."
        ::= { rcCbSwitchFabricStats 31 }

rcCbSwitchFabricDropPrec4CongestionMarkedBytes          OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Congestion marked number of bytes from drop precedence 4."
        ::= { rcCbSwitchFabricStats 32 }

rcCbSwitchFabricDropPrec4DiscardDroppedPackets          OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "WRED dropped number of packets from drop precedence 4."
        ::= { rcCbSwitchFabricStats 33 }

rcCbSwitchFabricDropPrec4DiscardDroppedBytes            OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "WRED dropped number of bytes from drop precedence 4."
        ::= { rcCbSwitchFabricStats 34 }

rcCbSwitchFabricDropPrec4DroppedPackets         OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "non-WRED dropped number of packets from drop precedence 4."
        ::= { rcCbSwitchFabricStats 35 }

rcCbSwitchFabricDropPrec4DroppedBytes           OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "non-WRED dropped number of bytes from drop precedence 4."
        ::= { rcCbSwitchFabricStats 36 }

rcCbSwitchFabricOverSubscribeTotalDroppedPkts    OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Dropped number of packets due to free list underflow."
        ::= { rcCbSwitchFabricStats 37 }

rcCbSwitchFabricOverSubscribeTotalDroppedBytes    OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Dropped number of bytes due to free list underflow."
        ::= { rcCbSwitchFabricStats 38 }

rcCbSwitchFabricOverSubscribeGuaranteeDroppedPkts    OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Dropped number of packets Gbl buf thres guarantee."
        ::= { rcCbSwitchFabricStats 39 }

rcCbSwitchFabricOverSubscribeGuaranteeDroppedBytes    OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Dropped number of bytes Gbl buf thres guarantee."
        ::= { rcCbSwitchFabricStats 40 }

rcCbSwitchFabricOutPkts    OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Number of packets out from egress interface."
        ::= { rcCbSwitchFabricStats 41 }

rcCbSwitchFabricOutBytes    OBJECT-TYPE
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Number of bytes out from egress interface."
        ::= { rcCbSwitchFabricStats 42 }

rcCbSwitchFabricStatsCapture	OBJECT-TYPE
	SYNTAX          TruthValue
	MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Control to turn stats collection on or off"
        ::= { rcCbSwitchFabricScalars 2 }

rcCbSwitchFabricStatsPortId	OBJECT-TYPE
	SYNTAX          InterfaceIndex
	MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The port on which stats is to be collected on.
			 Must select a data port."
        ::= { rcCbSwitchFabricScalars 3 }

rcCbSwitchFabricStatsCosId	OBJECT-TYPE
	SYNTAX          Integer32 (0..7)
	MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The CoS or VOQ to collect Stats on"
	::= { rcCbSwitchFabricScalars 4 }

rcCbBmeActiveBme	OBJECT-TYPE
	SYNTAX          INTEGER {
                                  activeArbitorId0(1), -- slot 24
                                  activeArbitorId1(2)  -- slot 21
			}
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The location of the active BME in the system.
                         BME stands for Bandwidth Manager Engine."
        ::= { rcCbSwitchFabricScalars 5 }

rcCbBmeRedundancyMode	OBJECT-TYPE
	SYNTAX          INTEGER {
				manual(1),
				onePlusOneControlAndData(2),
				onePlusOneControlOnly(3)
			}
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Redundancy mode for BMEs."
        ::= { rcCbSwitchFabricScalars 6 }

rcCbProfileType         OBJECT-TYPE
        SYNTAX          INTEGER {
                                balanced(1),
                                unicastOptimized(2),
                                multicastOptimized(3)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Switch fabric profile type."
        DEFVAL        { balanced }
        ::= {  rcCbSwitchFabricScalars 7}

rcCbSwitchFabricDeviceRead        OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "If turned on statistics for switch fabric counters
                         are collected directly from devices.  Otherwise,
                         a cached copy is returned."
        DEFVAL        { true }
        ::= {  rcCbSwitchFabricScalars 8}

rcCbQueuingEngine2kTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcCBQueuingEngine2kEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Table containing the 2k based queuing engine
			entries for the system."
        ::= { rcCbSwitchFabric 2 }

rcCbQueuingEngine2kEntry  OBJECT-TYPE
        SYNTAX          RcCBQueuingEngine2kEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Entry for the QE Table"
	INDEX		{ rcCbQueuingEngine2kId }
    ::= { rcCbQueuingEngine2kTable 1 }

RcCBQueuingEngine2kEntry ::= SEQUENCE {
		rcCbQueuingEngine2kId             Integer32,
		rcCbQueuingEngine2kStatus         DeviceStatus
		}

rcCbQueuingEngine2kId	OBJECT-TYPE
	SYNTAX          Integer32 (1..32)
	MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Index for an entry in the QE Table.  Here is the layout
			 of the IDs in relation to the system:

			Location	ID(s)
			---------------------
			IO on slot 3:   1..3
			IO on slot 4:   4..6	
			CP on slot 1:	7
			CP on slot 2:	8
			IO on slot 5:	9..11
			IO on slot 6:	12..14
			...
			IO on slot 12:	30..32
			"
        ::= { rcCbQueuingEngine2kEntry 1 }

rcCbQueuingEngine2kStatus	OBJECT-TYPE
	SYNTAX          DeviceStatus
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Status of a given QE interface."
        ::= { rcCbQueuingEngine2kEntry 2 }

rcCbSwitchingEngine4kTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcCBSwitchingEngine4kEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Table containing the 4k based switching
			 engine entries for the system."
        ::= { rcCbSwitchFabric 3 }

rcCbSwitchingEngine4kEntry           OBJECT-TYPE
        SYNTAX          RcCBSwitchingEngine4kEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Entry for the SE Table."
	INDEX		{ rcCbSwitchingEngine4kId }
    ::= { rcCbSwitchingEngine4kTable 1 }

RcCBSwitchingEngine4kEntry ::= SEQUENCE {
		rcCbSwitchingEngine4kId             Integer32,
		rcCbSwitchingEngine4kStatus         DeviceStatus
		}

rcCbSwitchingEngine4kId	OBJECT-TYPE
	SYNTAX          Integer32 (1..18)
	MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Index for the SE Table.  Here is the layout
			 of the IDs in relation to the system:

			Location	ID(s)
			---------------------
			SF on slot 13:  1..3
			SF on slot 14:  4..6
			...
			SF on slot 18:	16..18	
			"
        ::= { rcCbSwitchingEngine4kEntry 1 }

rcCbSwitchingEngine4kStatus	OBJECT-TYPE
	SYNTAX          DeviceStatus
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Status of a given SE Device."
        ::= { rcCbSwitchingEngine4kEntry 2 }

rcCbSwitchingEngine9600Table OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcCBSwitchingEngine9600Entry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Table containing the 9600 based switching
                         engine entries for the system."
        ::= { rcCbSwitchFabric 4 }

rcCbSwitchingEngine9600Entry           OBJECT-TYPE
        SYNTAX          RcCBSwitchingEngine9600Entry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Entry for the SE 9600 Table."
        INDEX           { rcCbSwitchingEngine9600Id }
    ::= { rcCbSwitchingEngine9600Table 1 }

RcCBSwitchingEngine9600Entry ::= SEQUENCE {
                rcCbSwitchingEngine9600Id             Integer32,
                rcCbSwitchingEngine9600Status         DeviceStatus,
                rcCbSwitchingEngine9600Mode           SfDeviceMode
                }

rcCbSwitchingEngine9600Id       OBJECT-TYPE
        SYNTAX          Integer32 (1..12)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Index for the SE Table.  Here is the layout
                         of the IDs in relation to the system:

                        Location        ID(s)
                        ---------------------
                        SF on slot 21:  1..2
                        SF on slot 22:  3..4
                        ...
                        SF on slot 26:  11..12
                        "
        ::= { rcCbSwitchingEngine9600Entry 1 }

rcCbSwitchingEngine9600Status   OBJECT-TYPE
        SYNTAX          DeviceStatus
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Status of a given Fast SE Device."
        ::= { rcCbSwitchingEngine9600Entry 2 }

rcCbSwitchingEngine9600Mode   OBJECT-TYPE
        SYNTAX          SfDeviceMode
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Mode of given Fast SE Device either BME or SE."
        ::= { rcCbSwitchingEngine9600Entry 3 }

rcCbQe2kSerdesLinkTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcCbQe2kSerdesLinkEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Table containing the Serdes Link Information
			for the system."
        ::= { rcCbSwitchFabric 5 }

rcCbQe2kSerdesLinkEntry   OBJECT-TYPE
        SYNTAX          RcCbQe2kSerdesLinkEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Entry for a QE based Serdes Link Interface.
			 The combination of the QE ID and Serdes Link ID
			 uniquely identifies a link."
	INDEX		{ rcCbQe2kSerdesLinkId}
    ::= { rcCbQe2kSerdesLinkTable 1 }

RcCbQe2kSerdesLinkEntry ::= SEQUENCE {
		rcCbQe2kSerdesLinkId             Integer32,
		rcCbQe2kSerdesLinkType           INTEGER,
		rcCbQe2kSerdesLinkStatus         DeviceStatus,
                rcCbQe2kSerdesLinkConnectedToDevice    Integer32,
                rcCbQe2kSerdesLinkConnectedToSlot      Integer32
		}

rcCbQe2kSerdesLinkId	OBJECT-TYPE
	SYNTAX          Integer32 (1..768)
	MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "This ID maps to a particular serdes port number
                         for the identified device. Gen-2 IO modules in
                         VSP9000 has 24 serdes links per QE, where as Gen-1 
                         modules will have 20 serdes links per QE. The last 4
                         SerdesLinkId will be unused for Gen-1 IO modules.
                         Here's the mapping for VSP9000:
                         slot 3 :
                         rcCbQe2kSerdesLinkId  1 = port 0; Slot 3; QE Device 1
                         ...
                         rcCbQe2kSerdesLinkId 20 = port 19; Slot 3; QE Device 1; last port for Gen-1 
                         rcCbQe2kSerdesLinkId 24 = port 23; Slot 3; QE Device 1; last port for Gen-2 
                         rcCbQe2kSerdesLinkId 25 = port 0; Slot 3; QE Device 2
                         rcCbQe2kSerdesLinkId 47 = port 23; Slot 3; QE Device 2
                         rcCbQe2kSerdesLinkId 48 = port 0; Slot 3; QE Device 2
                         rcCbQe2kSerdesLinkId 72 = port 23; Slot 3; QE Device 3
                         slot-4 :
                         rcCbQe2kSerdesLinkId 73 = port 0; Slot 4; QE Device 1
                         ...
                         rcCbQe2kSerdesLinkId 92 = port 19; Slot 4; QE Device 1; last port for Gen-1 
                         rcCbQe2kSerdesLinkId 96 = port 23; Slot 4; QE Device 1; last port for Gen-2 
                         rcCbQe2kSerdesLinkId 97 = port 0; Slot 4; QE Device 2
                         rcCbQe2kSerdesLinkId 120 = port 23; Slot 4; QE Device 2
                         rcCbQe2kSerdesLinkId 121 = port 0; Slot 4; QE Device 2
                         rcCbQe2kSerdesLinkId 144 = port 23; Slot 4; QE Device 3
                         ... with slots 5 in order with serdes linkIds from 145 to 216 
                         ... with slots 6-12 in order with serdes linkIds from 265 to 768 ...
                         rcCbQe2kSerdesLinkId 768 = port 23; Slot 12; QE Device 3
                         Note link 15 & 17 are used when QE2k is connected to SF96."
        ::= { rcCbQe2kSerdesLinkEntry 1 }

rcCbQe2kSerdesLinkType	OBJECT-TYPE
	SYNTAX          INTEGER {
				sci(1),
				sfi(2)
			}
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Link type of the serdes interface"
        ::= { rcCbQe2kSerdesLinkEntry 2 }

rcCbQe2kSerdesLinkStatus	OBJECT-TYPE
	SYNTAX          DeviceStatus
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Interface Status"
        ::= { rcCbQe2kSerdesLinkEntry 3 }

rcCbQe2kSerdesLinkConnectedToDevice	OBJECT-TYPE
	SYNTAX          Integer32 (1..20)
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The SE/BME ID to which the QE2k ID is attached
                         to.  Note that IDs 16 & 18 are unused."
        ::= { rcCbQe2kSerdesLinkEntry 4 }

rcCbQe2kSerdesLinkConnectedToSlot   OBJECT-TYPE
        SYNTAX          Integer32 (21..26)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The slot number of the switch fabric card to which the QE2k ID is attached to."
        ::= { rcCbQe2kSerdesLinkEntry 5 }

rcCbSESerdesLinkTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcCBSESerdesLinkEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Table containing the Serdes Link Information
			for the system."
        ::= { rcCbSwitchFabric 6 }

rcCbSESerdesLinkEntry   OBJECT-TYPE
        SYNTAX          RcCBSESerdesLinkEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Entry for an SE based Serdes Link Interface.  
			 The combination of the QE ID and Serdes Link ID
			 uniquely identifies a link."
	INDEX		{ rcCbSESerdesLinkId}
    ::= { rcCbSESerdesLinkTable 1 }

RcCBSESerdesLinkEntry ::= SEQUENCE {
		rcCbSESerdesLinkId             Integer32,
		rcCbSESerdesLinkType           INTEGER,
                rcCbSESerdesLinkStatus         DeviceStatus,
                rcCbSESerdesLinkConnectedToDevice    Integer32,
                rcCbSESerdesLinkConnectedToSlot      Integer32
		}

rcCbSESerdesLinkId	OBJECT-TYPE
	SYNTAX          Integer32 (1..640)
	MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "This ID maps to a particular serdes port number
                         for the identified device.  Here's the mapping:

                         SESerdesLinkId  1  = port 0; Slot 21; Device 1
                         SESerdesLinkId  33 = port 0; Slot 21; Device 2
                         SESerdesLinkId  65 = port 0; Slot 21; Device 3
                         SESerdesLinkId  97 = port 0; Slot 22; Device 1
                         ...
                         SESerdesLinkId 640 = port 31; Slot 26; Device 3"
        ::= { rcCbSESerdesLinkEntry 1 }

rcCbSESerdesLinkType	OBJECT-TYPE
	SYNTAX          INTEGER {
				sci(1),
				sfi(2)
			}
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Link Type of the Serdes interface.  Switch control
                         interface is sci.  Switch forwarding interface is sfi."
        ::= { rcCbSESerdesLinkEntry 2 }

rcCbSESerdesLinkStatus  OBJECT-TYPE
        SYNTAX          DeviceStatus
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Interface Status"
        ::= { rcCbSESerdesLinkEntry 3 }

rcCbSESerdesLinkConnectedToDevice       OBJECT-TYPE
        SYNTAX          Integer32 (1..32)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The QE2k ID to which the SE/BME ID is attached to."
        ::= { rcCbSESerdesLinkEntry 4 }

rcCbSESerdesLinkConnectedToSlot     OBJECT-TYPE
        SYNTAX          Integer32 (1..32)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The slot number of the switch fabric card to which the QE2k ID is attached to."
        ::= { rcCbSESerdesLinkEntry 5 }

rcCbSE9600SerdesLinkTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcCBSE9600SerdesLinkEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Table containing the Fast Serdes Link Information
                        for the system."
        ::= { rcCbSwitchFabric 7 }

rcCbSE9600SerdesLinkEntry   OBJECT-TYPE
        SYNTAX          RcCBSE9600SerdesLinkEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Entry for an SE based Serdes Link Interface.
                         The combination of the QE ID and Serdes Link ID
                         uniquely identifies a link."
        INDEX           { rcCbSE9600SerdesLinkId}
    ::= { rcCbSE9600SerdesLinkTable 1 }

RcCBSE9600SerdesLinkEntry ::= SEQUENCE {
                rcCbSE9600SerdesLinkId             Integer32,
                rcCbSE9600SerdesLinkType           INTEGER,
                rcCbSE9600SerdesLinkStatus         DeviceStatus,
                rcCbSE9600SerdesLinkConnectedToDevice    Integer32,
                rcCbSE9600SerdesLinkConnectedToSlot      Integer32
                }

rcCbSE9600SerdesLinkId  OBJECT-TYPE
        SYNTAX          Integer32 (1..1152)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "This ID maps to a particular serdes port number
                         for the identified device.  Here's the mapping:

                         SESerdesLinkId  1   = port 0; Slot 21; Device 1
                         SESerdesLinkId  97  = port 0; Slot 21; Device 2
                         SESerdesLinkId  193 = port 0; Slot 22; Device 1
                         SESerdesLinkId  289 = port 0; Slot 22; Device 2
                         ...
                         SESerdesLinkId 1152 = port 96; Slot 26; Device 2"
        ::= { rcCbSE9600SerdesLinkEntry 1 }

rcCbSE9600SerdesLinkType        OBJECT-TYPE
        SYNTAX          INTEGER {
                                sci(1),
                                sfi(2)
                        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Link Type of the Serdes interface.  Switch control
                         interface is sci.  Switch forwarding interface is sfi."
        ::= { rcCbSE9600SerdesLinkEntry 2 }

rcCbSE9600SerdesLinkStatus      OBJECT-TYPE
        SYNTAX          DeviceStatus
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Interface Status"
        ::= { rcCbSE9600SerdesLinkEntry 3 }

rcCbSE9600SerdesLinkConnectedToDevice   OBJECT-TYPE
        SYNTAX          Integer32 (1..32)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The QE2k ID to which the SE/BME ID is attached to."
        ::= { rcCbSE9600SerdesLinkEntry 4 }

rcCbSE9600SerdesLinkConnectedToSlot OBJECT-TYPE
        SYNTAX          Integer32 (1..12)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The slot number of the switch fabric card to which the QE2k ID is attached to."
        ::= { rcCbSE9600SerdesLinkEntry 5 }

rcCbSPITable		OBJECT-TYPE
	SYNTAX          SEQUENCE OF RcCBSPIEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Table containing the system peripheral interface info."
        ::= { rcCbSwitchFabric 8 }

rcCbSPIEntry	OBJECT-TYPE
        SYNTAX          RcCBSPIEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "SPI table entry"
	INDEX		{ rcCbSPIId }
    ::= { rcCbSPITable 1 }

RcCBSPIEntry ::= SEQUENCE {
		rcCbSPIId			Integer32,
		rcCbSPIStatus			DeviceStatus
		}

rcCbSPIId		OBJECT-TYPE
	SYNTAX          Integer32 (1..72)
	MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The Index for the SPI Table.  Here is the layout
			 of the IDs in relation to the system:

			Location	ID(s)
			---------------------
			Slot 1:  	1..6
			Slot 2:		7..12
			...
			Slot 12:	57..72

			Current implementation uses the first 6 IDs for each slot. "
        ::= { rcCbSPIEntry 1 }

rcCbSPIStatus		OBJECT-TYPE
	SYNTAX          DeviceStatus
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "SPI Status"
        ::= { rcCbSPIEntry 2 }

-- Notification

rcLoginUserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION   "Used to inidcation the login user name for notification"
        ::= { rcCbNotifications 1 }

rcLoginHostIpAddress  OBJECT-TYPE
        SYNTAX        IpAddress
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION   "Used to inidcation the login host ip address for
                      notification"
        ::= {rcCbNotifications 2 }

rcSlotType OBJECT-TYPE
        SYNTAX       INTEGER {
                         slot1(1),
                         slot2(2),
                         slot3(3),
                         slot4(4),
                         slot5(5),
                         slot6(6),
                         slot7(7),
                         slot8(8),
                         slot9(9),
                         slot10(10),
                         slot11(11),
                         slot12(12),
                         ps1(13),
                         ps2(14),
                         ps3(15),
                         ps4(16),
                         ps5(17),
                         ps6(18),
                         mid1(19),
                         mid2(20),
                         sf1(21),
                         sf2(22),
                         sf3(23),
                         sf4(24),
                         sf5(25),
                         sf6(26),
                         aux1(27),
                         aux2(28),
                         iofan1(29),
                         iofan2(30),
                         sffan1(31),
                         sffan2(32)
                      }
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION   "Used to inidcate the slot type"
        ::= { rcCbNotifications 3 }

rcFanZoneType OBJECT-TYPE
        SYNTAX INTEGER {
                         front(1),
                         rear(2)
                       }
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION  "Type of the fan zone."
        ::= { rcCbNotifications 4 }

rcFanTrayId OBJECT-TYPE
        SYNTAX INTEGER (1..6)
        MAX-ACCESS    accessible-for-notify
        STATUS       current
        DESCRIPTION  "Fan tray number in the fan zone"
        ::= { rcCbNotifications 5 }

rcFanUnitId OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        MAX-ACCESS    accessible-for-notify
        STATUS       current
        DESCRIPTION  "Fan unit number in the fan tray"
        ::= { rcCbNotifications 6 }

rcCardTemp OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION   "Used to inidcate the card temperature"
        ::= { rcCbNotifications 7 }

rcCpuUtilization OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION   "Used to inidcate the CPU utilization"
        ::= { rcCbNotifications 8 }

rcLoginHostAddressType  OBJECT-TYPE
        SYNTAX        InetAddressType
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION   "Used to inidcation the login host address type for
                      notification"
        ::= {rcCbNotifications 9 }

rcLoginHostInetAddress  OBJECT-TYPE
        SYNTAX        InetAddress
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION   "Used to inidcation the login host inet address for
                      notification"
        ::= {rcCbNotifications 10 }

rcSlotPowerStatus  OBJECT-TYPE
        SYNTAX        INTEGER {
			notAvailable(1),
			available(2)
		      }
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION   "Whethere power is available to boot up 
                      the card in the slot."
        ::= {rcCbNotifications 11 }
  
rc2kCardShutDownReason OBJECT-TYPE
        SYNTAX INTEGER {
			 highSpeedFanNeeded(1)
                       }
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION  "The reason can not boot up the card in the slot."
        ::= { rcCbNotifications 12 }

rc2kCardZoneTemperature OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION   "Used to indicate the card zone temperature"
        ::= { rcCbNotifications 13 }
  
rc2kCardTemperatureZoneInfo OBJECT-TYPE
        SYNTAX INTEGER {
			 inletOutletZone(1),
			 fpgaZone(2),
			 faZone(3),
			 cpu(4),
			 cpu1(5),
			 cpuCore(6),
			 mac(7),
			 mac1(8),
			 mac2(9),
			 phy(10),
			 phy1(11),
			 phy2(12),
			 phy3(13),
			 phy4(14),
			 phy5(15),
			 phy6(16),
			 pressFitConnector(17),
			 mgmtBrd(18),
			 mb(19),
			 mainBoard1(20),
			 mainBoard2(21),
			 vim(22),
			 vimPhy(23),
			 unknown(24)
                       }
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION  "rc2kCardTemperatureZoneInfo indicates the zone for which the 
                      card temperature trap (rcn2kCardZoneOverheat, rcn2kCardZoneNormalTemp
                      and rcn2kCardOverheatShutDown) is raised."
        ::= { rcCbNotifications 14 }

END
