-- *****************************************************************
-- ROADM Module MIB
-- *****************************************************************

SL-ROADM-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE, Integer32,
	NOTIFICATION-TYPE, Gauge32, 
	Counter64     	                    FROM SNMPv2-SMI
	DisplayString, TruthValue,
	DateAndTime							FROM SNMPv2-TC
	MODULE-COMPLIANCE, OBJECT-GROUP,
	NOTIFICATION-GROUP                  FROM SNMPv2-CONF
	InterfaceIndex		               	FROM IF-MIB
	slService				      		FROM SL-NE-MIB;

slROADM MODULE-IDENTITY
	LAST-UPDATED "0508171200Z"   -- 17 Jan. 2005  12:00:00 EST
	ORGANIZATION "PacketLight Networks Ltd."
	CONTACT-INFO
		"Omri_Viner@PacketLight.com"
	DESCRIPTION
		"This MIB module describes the ROADM"
	::= { slService 16 }

-- The ROADM MIB consists of the following groups:
--    Configuration
--    Traps

slROADMConfig		OBJECT IDENTIFIER ::= { slROADM 1 }
slROADMPm	 		OBJECT IDENTIFIER ::= { slROADM 2 }
slROADMTraps 		OBJECT IDENTIFIER ::= { slROADM 3 }


  -- Textual Conventions

ROCHProvisioningType ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "The channel provisioning type."
    SYNTAX         INTEGER {
		none(1),   	-- Channel not provisioned
		exp(2),    	-- Express channel
		add(3)    	-- Add/Drop channel	
    }

--
-- The WSS Configuration Table
--

slWSSConfigTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SlWSSConfigEntry
	MAX-ACCESS  		not-accessible
	STATUS  			current
	DESCRIPTION
		"The ROADM Configuration table."
	::= { slROADMConfig 1 }

slWSSConfigEntry OBJECT-TYPE
	SYNTAX  SlWSSConfigEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in the WSS Configuration table."
	INDEX   { slWSSConfigLineIndex }
	::= { slWSSConfigTable 1 }

SlWSSConfigEntry ::=
	SEQUENCE {
		slWSSConfigLineIndex        		InterfaceIndex,
        -- Status
		slWSSConfigOperStatus				INTEGER,
		slWSSConfigSwitchTemp				INTEGER,      		
        slWSSConfigBoardTemp				INTEGER,   		
		slWSSConfigCaseTemp					INTEGER,           
		slWSSConfigUptime					INTEGER,           
        -- Provisioning        
        slWSSConfigComFirstWl				INTEGER,    		
        slWSSConfigComChCount				INTEGER,    
        -- VOA
        slWSSConfigPowerLevel				INTEGER,    
        slWSSConfigAttenLevel				INTEGER    
	}

slWSSConfigLineIndex OBJECT-TYPE
	SYNTAX  	InterfaceIndex
	MAX-ACCESS  read-only
	STATUS  	current
	DESCRIPTION
		"Only one entry in the table.
		 Thus this is a dummy ifIndex that equals to 1."
	::= { slWSSConfigEntry 1 }

-- Status

slWSSConfigOperStatus OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
    	"The WSS operational status. 0 - DOWN, 1 - UP."
    ::= { slWSSConfigEntry 2 }

slWSSConfigSwitchTemp OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
    	"The switch temperature in 0.1 celsius"
    ::= { slWSSConfigEntry 3 }

slWSSConfigBoardTemp OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
    	"The board temperature in 0.1 celsius"
    ::= { slWSSConfigEntry 4 }

slWSSConfigCaseTemp OBJECT-TYPE
	SYNTAX          INTEGER
	MAX-ACCESS  	read-only
	STATUS          current
	DESCRIPTION
		"The case temperature in 0.1 celsius"
	::= { slWSSConfigEntry 5 }

slWSSConfigUptime   OBJECT-TYPE
	SYNTAX          INTEGER
	MAX-ACCESS  	read-only
	STATUS          current
	DESCRIPTION
		"The case temperature in 0.1 celsius"
	::= { slWSSConfigEntry 6 }

-- Provisioning

slWSSConfigComFirstWl OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
    	"The first DWDM ITU G.694.1 channel of the Waveplan.
    	 Specified in 3.125GHz units"
    ::= { slWSSConfigEntry 7 }

slWSSConfigComChCount OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
    	"The overall count of channels in the Waveplan.
    	 The channels are ordered in increasing frequency (decreasing wavelength)."
    ::= { slWSSConfigEntry 8 }

-- VOA

slWSSConfigPowerLevel OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
    	"The received Destination Access Point Identifier."
    ::= { slWSSConfigEntry 9 }

slWSSConfigAttenLevel OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
    	"The received Source Access Point Identifier."
    ::= { slWSSConfigEntry 10 }



--
-- The Channel Configuration Table
--

slROCHConfigTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SlROCHConfigEntry
	MAX-ACCESS  		not-accessible
	STATUS  			current
	DESCRIPTION
		"The ROADM Channel Configuration table."
	::= { slROADMConfig 2 }

slROCHConfigEntry OBJECT-TYPE
	SYNTAX  SlROCHConfigEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		"An entry in the ROADM Configuration table."
	INDEX   { slROCHConfigLineIndex }
	::= { slROCHConfigTable 1 }

SlROCHConfigEntry ::=
	SEQUENCE {
		slROCHConfigLineIndex        		InterfaceIndex,
        -- Provisioning
		slROCHConfigProvisioning			ROCHProvisioningType,
        -- Status
		slROCHConfigInPowerLevel			INTEGER,
		slROCHConfigOutPowerLevel			INTEGER,
		slROCHConfigChannelDetect			INTEGER,      		
        -- Thresholds
        slROCHConfigChPowerFailHighThresh	INTEGER,    
        slROCHConfigChPowerFailLowThresh	INTEGER,    
        slROCHConfigChPowerDegHighThresh	INTEGER,    
        slROCHConfigChPowerDegLowThresh		INTEGER,    
        slROCHConfigChPowerHystHighThresh	INTEGER,    
        slROCHConfigChPowerHystLowThresh	INTEGER    
	}

slROCHConfigLineIndex OBJECT-TYPE
	SYNTAX  	InterfaceIndex
	MAX-ACCESS  read-only
	STATUS  	current
	DESCRIPTION
		"The ifIndex of the channel.
		The channels use the paths 1-48 with the port number of the COM"
	::= { slROCHConfigEntry 1 }

-- Provisioning

slROCHConfigProvisioning OBJECT-TYPE
	SYNTAX      ROCHProvisioningType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
    	"The channel provisioning"
    ::= { slROCHConfigEntry 2 }

-- Status

slROCHConfigInPowerLevel OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
    	"The Power Level of the channel equal to Out Power Level + Attenuation"
    ::= { slROCHConfigEntry 3 }

slROCHConfigOutPowerLevel OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
    	"The Output Power Level of the channel"
    ::= { slROCHConfigEntry 4 }

slROCHConfigChannelDetect OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
    	"Channel detect indication. 0 - not detected, 1 - channel is detected"
    ::= { slROCHConfigEntry 5 }

-- Thresholds

slROCHConfigChPowerFailHighThresh OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
    	"The threshold for channel High Power Failure.
    	 Setting this value applies to all channels."
    ::= { slROCHConfigEntry 6 }

slROCHConfigChPowerFailLowThresh OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
    	"The threshold for channel Low Power Failure.
    	 Setting this value applies to all channels."
    ::= { slROCHConfigEntry 7 }

slROCHConfigChPowerDegHighThresh OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
    	"The threshold for channel High Power Degrade.
    	 Setting this value applies to all channels."
    ::= { slROCHConfigEntry 8 }

slROCHConfigChPowerDegLowThresh OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
    	"The threshold for channel Low Power Degrade.
    	 Setting this value applies to all channels."
    ::= { slROCHConfigEntry 9 }

slROCHConfigChPowerHystHighThresh OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
    	"The threshold for channel High Power Hysteresis.
    	 Setting this value applies to all channels."
    ::= { slROCHConfigEntry 10 }

slROCHConfigChPowerHystLowThresh OBJECT-TYPE
	SYNTAX      INTEGER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
    	"The threshold for channel Low Power Hysteresis.
    	 Setting this value applies to all channels."
    ::= { slROCHConfigEntry 11 }


-- 
-- ROADM Traps
-- 


END
