--	=======================================================================
--	File		: M_CORE.MIB
--	Description	: ???
--	By		: Alex Ruzin
--	Version		: $Revision:   1.0	$
--	Date		: $Date:   07 Jan 1999 12:59:44	 $
--	=======================================================================
--
--
-- Copyright (c) 1995 NBase	Switch Communications.	All	Rights Reserved.
--
-- <...>
-- NBase retains the right to change this MIB without notification.
--

CORE-MIB	DEFINITIONS	::=	BEGIN

		IMPORTS
				enterprises,
				Counter					FROM RFC1155-SMI
	 			OBJECT-TYPE				FROM RFC-1212;

--  

-- ************************************************************
-- Local Object	Typedefs
-- ************************************************************

		LedColor ::= INTEGER {
				none(1),
				green(2),
				black(3),
				yellow(4),
				red(5),
				white(6),
				blue(7),
				magenta(8),
				grey(9)
			 }

		RingId ::= INTEGER	{
				undefined(1),
				a(2),
				b(3)
			 }

		AdminStatus	::=	INTEGER	{
				undefined(1),
				disabled(2),
				enabled(3)
			 }

		LinkStatus ::= INTEGER {
				undefined(1),
				linkOff(2),
				linkOn(3)
			 }
					
		FlowControlStatus ::= INTEGER	{
				undefined(1),
				flowControlOff(2),
				flowControlOn(3)
			 }
					
-- ************************************************************
-- Object Identifiers Definition
-- ************************************************************

nbase			OBJECT IDENTIFIER ::=	{ enterprises 629 }
nbSwitchG1		OBJECT IDENTIFIER ::=	{ nbase 1 }
nbSwitchG1Il	        OBJECT IDENTIFIER ::=	{ nbSwitchG1 50 }
core			OBJECT IDENTIFIER ::=	{ nbSwitchG1Il 9 }

--  

-- ************************************************************
-- Global data of the device
-- ************************************************************

coreInfo OBJECT IDENTIFIER ::= { core 1 }

coreSlotsMaxNumber OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Number of slots"
			::= { coreInfo 1 }
            
coreChannelsMaxNumber OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Maximum  number of channels"
			::= { coreInfo 2 }
            
coreRingsMaxNumber OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Actual number of rings"
			::= { coreInfo 3 }
            	   
coreSlotsActNumber OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Actual number of non empty slots"
			::= { coreInfo 4 }

coreRingsActNumber OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Actual number of rings"
			::= { coreInfo 6 }

--  

-- ************************************************************
-- Slots Table : describes device topology
-- ************************************************************

coreSlotsTable OBJECT-TYPE
			SYNTAX SEQUENCE OF CoreSlotEntry
			ACCESS not-accessible
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { core 2 }

	coreSlotEntry OBJECT-TYPE
			SYNTAX CoreSlotEntry
			ACCESS not-accessible
			STATUS mandatory
			DESCRIPTION
				"???"
			INDEX { coreSlotPosition }
			 ::= { coreSlotsTable 1 }

	CoreSlotEntry ::=
			SEQUENCE {
				coreSlotPosition				INTEGER,
				coreSlotType					INTEGER,
				coreSlotPortsNumber				INTEGER
				}

	coreSlotPosition OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Position of the slot: the leftest slot has position 1"
			::= { coreSlotEntry 1 }

	coreSlotType OBJECT-TYPE
			SYNTAX INTEGER {
				empty(1),
				cooper20(2),
				mCoreAgent(9),
                		mCore1Wdm1(11),
                		mCore1Wdm2(12),
				mCore1Wdm3(13),
				mCore1Wdm4(14),
				mCore4Wdm(20),
				mCore4Giga(30),
				mEdge2Giga(40),
				mEdge2Wdm(50)
			 }
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Type of the slot"
			::= { coreSlotEntry 2 }

	coreSlotPortsNumber OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Number of the ports in the card placed in the slot; in empty(1) ports number
				is equal to 0"
			::= { coreSlotEntry 3 }

--  

-- ************************************************************
-- Port Table : describes ports inside slots
-- ************************************************************

corePortTable OBJECT-TYPE
			SYNTAX SEQUENCE OF CorePortEntry
			ACCESS not-accessible
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { core 3 }

	corePortEntry OBJECT-TYPE
			SYNTAX CorePortEntry
			ACCESS not-accessible
			STATUS mandatory
			DESCRIPTION
				"???"
			INDEX { coreSlotNumber,	corePortNumber }
			::= { corePortTable 1 }

	CorePortEntry ::=
			SEQUENCE {
				coreSlotNumber			INTEGER,
				corePortNumber			INTEGER,
				corePortType			INTEGER,
				corePortRingId			RingId,
				corePortFirstChannel		INTEGER,
				corePortLastChannel		INTEGER,
				corePortLinkStatus		LinkStatus,
				corePortAdminStatus		AdminStatus,
				corePortRingStatus		INTEGER,
				corePortFlowControl		FlowControlStatus,
				corePortDuplex			INTEGER,
				corePortSpeed			INTEGER,
				corePortGoodByteRx		Counter,
				corePortByteTx			Counter,
				corePortGoodFrameRx		Counter,
				corePortFrameTx			Counter,
				corePortTotalByteRx		Counter,
				corePortTotalFrameRx		Counter,
				corePortBcstFrameRx		Counter,
				corePortMcstFrameRx		Counter,
				corePortCRCError		Counter,
				corePortOversize		Counter,
				corePortFragment		Counter,
				corePortJabber			Counter,
				corePortCollision		Counter,
				corePortLateCollision		Counter,
				corePortFr64			Counter,
				corePortFr64to127		Counter,
				corePortFr128to255		Counter,
				corePortFr256to511		Counter,
				corePortFr512to1023		Counter,
				corePortFr1024to1023		Counter,
				corePortFr1023toMAX		Counter,
				corePortDropped			Counter,
				corePortMcstFrameTx		Counter,
				corePortBcstFrameTx		Counter,
				corePortUndersize		Counter
		 }

	coreSlotNumber OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 1 }

	corePortNumber OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 2 }

	corePortType OBJECT-TYPE
			SYNTAX INTEGER {
	            		undefined (1),
        	        	coreGigaBit(2),
				coreWDM(3)
			}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 3 }

	corePortRingId OBJECT-TYPE
			SYNTAX RingId
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 4 }

	corePortFirstChannel OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"For coreGigaBit(2) ports corePortFirstChannel=corePortLastChannel and
				is equal to its channel number"
			::= { corePortEntry 5 }

	corePortLastChannel OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"For coreGigaBit(2) ports corePortFirstChannel=corePortLastChannel and
				is equal to its channel number"
			::= { corePortEntry 6 }

	corePortLinkStatus OBJECT-TYPE
			SYNTAX LinkStatus
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 7 }

	corePortAdminStatus OBJECT-TYPE
			SYNTAX AdminStatus
			ACCESS read-write
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 8 }

	corePortRingStatus OBJECT-TYPE
			SYNTAX INTEGER {
				nonRing(1),
				internal(2),
				external(3)
			}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 9 }

	corePortFlowControl OBJECT-TYPE
			SYNTAX FlowControlStatus
			ACCESS read-write
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 10 }

	corePortDuplex OBJECT-TYPE
			SYNTAX INTEGER {
				half(1),
				full(2)
			}
			ACCESS read-write
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 11 }

	corePortSpeed OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Actual speed in Mbps"
			::= { corePortEntry 12 }

--  

	corePortGoodByteRx OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::=	{ corePortEntry 13 }

	corePortByteTx OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::=	{ corePortEntry 14 }

	corePortGoodFrameRx OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::=	{ corePortEntry 15 }

	corePortFrameTx OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::=	{ corePortEntry 16 }

	corePortTotalByteRx OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::=	{ corePortEntry 17 }

	corePortTotalFrameRx OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::=	{ corePortEntry 18 }

	corePortBcstFrameRx OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::=	{ corePortEntry 19 }

	corePortMcstFrameRx OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 20 }
			
	corePortCRCError OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 21 }

	corePortOversize OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 22 }

	corePortFragment OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 23 }

	corePortJabber OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 24 }

	corePortCollision OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 25 }

	corePortLateCollision OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 26 }

	corePortFr64	 OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 27 }

	corePortFr64to127 OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 28 }

	corePortFr128to255 OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 29 }

	corePortFr256to511 OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 30 }

	corePortFr512to1023 OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 31 }

	corePortFr1024to1023 OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 32 }

	corePortFr1023toMAX OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 33 }

	corePortDropped OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 34 }

	corePortMcstFrameTx OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 35 }

	corePortBcstFrameTx OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { corePortEntry 36 }

	corePortUndersize OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS  mandatory
			DESCRIPTION
			"???"
			::= { corePortEntry 37 }
			
--  

-- ************************************************************
-- Channels Table : describes  rings & channels
-- ************************************************************

coreChannelTable OBJECT-TYPE
			SYNTAX SEQUENCE OF CoreChannelEntry
			ACCESS not-accessible
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { core 4 }

	coreChannelEntry OBJECT-TYPE
			SYNTAX CoreChannelEntry
			ACCESS not-accessible
			STATUS mandatory
			DESCRIPTION
				"???"
			INDEX { coreChannelRingId,	coreChannelNumber }
			 ::= { coreChannelTable 1 }

	CoreChannelEntry ::=
			SEQUENCE {
				coreChannelRingId		RingId,
				coreChannelNumber		INTEGER,
				coreChannelTxPwr		LedColor,
				coreChannelTxWave		LedColor,
				coreChannelRxPwr		LedColor,
				coreChannelRxLink		LedColor
		 }

	coreChannelRingId OBJECT-TYPE
			SYNTAX RingId
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { coreChannelEntry	1 }
			
	coreChannelNumber OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"???"
			::= { coreChannelEntry	2 }

	coreChannelTxPwr OBJECT-TYPE
			SYNTAX LedColor
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Laser transmit power within range:
				- the color red(5) means the parameter is out of spec below;
				- the color green(2) means the transmit power is in of range;
				- the color black(3)  means there is not transmit power to
				the channel/port or board."
			::= { coreChannelEntry	3 }

	coreChannelTxWave OBJECT-TYPE
			SYNTAX LedColor
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Laser wavelength within range:
				- the color red(5) means the parameter is out of spec below;
				- the color green(2) means the wavelength is in of range;
				- the color black(3)  means there is not wavelength (???)."
			::= { coreChannelEntry	4 }

	coreChannelRxPwr OBJECT-TYPE
			SYNTAX LedColor
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Laser receive power within range:
				- the color red(5) means the parameter is out of spec below;
				- the color green(2) means the receive power is in of range;
				- the color black(3)  means there is not receive power to the
				channel/port or board."
			::= { coreChannelEntry	5 }

	coreChannelRxLink OBJECT-TYPE
			SYNTAX LedColor
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Receive data valid:
				- the color red(5) means the parameter is out of spec below;
				- the color green(2) means the receive data is valid;
				- the color black(3)  means there is not receive is invalid."
			::= { coreChannelEntry	6 }


END

