-- ***************************************************************
-- INFINERA-ENTITY-OLM-MIB
--   
-- Aug 2011, Sharfuddin Syed / Narendra Gupta
--   
--   
-- Copyright (c) 2011-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-ENTITY-OLM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY        	FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE     	FROM SNMPv2-CONF
    RowStatus, DisplayString            	FROM SNMPv2-TC
    entLPPhysicalIndex                  	FROM ENTITY-MIB
    equipment                           	FROM INFINERA-REG-MIB
    InfnEqptType,InfnSlteOpMode, 
    InfnChannelPlan,InfnOcgType, 
    InfnAutoTunable,FloatTenths,
    InfnOperatingMode,
    InfnOlmDefFlexLicModformat,
    FloatThousandths,InfnOtnOtuType  		FROM INFINERA-TC-MIB;

olmMIB MODULE-IDENTITY
    LAST-UPDATED  "201110200000Z"
    ORGANIZATION 
        "INFINERA"
    CONTACT-INFO 
        "Infinera
        169 Java Drive
        Sunnyvale, CA - 94089
        
        Contact : Technical Support
        Email   : support@infinera.com
        Phone   : 1-877-INF-5288"
    DESCRIPTION 
        "This MIB is modeling for OLM equipment table."
        
::= { equipment 25 }

olmConformance       OBJECT IDENTIFIER ::= { olmMIB 3 }
olmCompliances       OBJECT IDENTIFIER ::= { olmConformance 1 }
olmGroups            OBJECT IDENTIFIER ::= { olmConformance 2 }

olmTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF OlmEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "This table contains all OLM modules that are currently present in a network element.
        "
    ::= { olmMIB 1 }

olmEntry  OBJECT-TYPE
    SYNTAX     OlmEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "A row in the OLM table. Each row in the table is identified with a unique entPhysicalIndexID." 
    INDEX { entLPPhysicalIndex }
    ::= { olmTable 1 }

OlmEntry ::= SEQUENCE {
    olmMoId                             	DisplayString,
    olmProvEqptType                     	InfnEqptType,   
    olmOperatingMode                    	InfnOperatingMode,   
    olmAvailableTunableOcgNumbers       	Integer32,  
    olmTunableOcgNumber   					Integer32,   
    olmCurOcgNumber							Integer32, 
    olmPicDspVer 							DisplayString,  
    olmOcgNumber							Integer32,
    olmRowStatus            				RowStatus,
    actvTimingSource						DisplayString,
    olmRxEdfaGain                           FloatTenths,
    olmRxEdfaOutputTargetPower              FloatTenths,
    olmDefFlexLicModformat                  InfnOlmDefFlexLicModformat,
    olmBwQmax                               FloatThousandths,
    olmBwQused                              FloatThousandths,
    olmBwQlicensed                          FloatThousandths,
    olmBwBmax                               FloatThousandths,
    olmBwBused                              FloatThousandths,
    olmBwBlicensed                          FloatThousandths,
	olmOTNContainerRepresentation			InfnOtnOtuType,
	olmInstalledOTNContainerRepresentation	InfnOtnOtuType
}

olmMoId  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "This is the primary Key of the objects"
    ::= { olmEntry 1 }

olmProvEqptType  OBJECT-TYPE
    SYNTAX     InfnEqptType
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The configured OLM type."
    ::= { olmEntry 2 }

olmOperatingMode  OBJECT-TYPE
    SYNTAX     InfnOperatingMode
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        "This objects controls the operating mode for  OLM and DLM in Gen1 and Gen2 modes."
    DEFVAL  { gen2 }
    ::= { olmEntry 3 }

olmAvailableTunableOcgNumbers  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        ""
    ::= { olmEntry 4 }

olmTunableOcgNumber  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { olmEntry 5 }


olmCurOcgNumber  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        ""
    ::= { olmEntry 6 }



olmPicDspVer  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "The hardware version of the PIC on the OLM."
    ::= { olmEntry 7 }



olmOcgNumber  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "This represents the OCG number for which tunable line module will be tuned."
    ::= { olmEntry 8 }


olmRowStatus  OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The row status of this OLM entry.
                Because rows in this table are indexed by entPhysicalIndex, to create a new row one must
                choose a value of entPhysicalIndex that is not already in use.
        
                A side-effect of the creation of a row in this table is the creation of a corresponding
                row in the eqptTable and the entPhysicalTable.
        
                The status may not be set to active if the olmMoId and olmProvEqptType are not set to valid values.
        
                This row may only be deleted if it was a pre-provisioned row and the hardware is not present.
        
                If this row is deleted, the associated row in the Eqpt Table and entPhysicalTable will be
                deleted by the agent."
    ::= { olmEntry 9 }

actvTimingSource OBJECT-TYPE 
		SYNTAX     DisplayString 
		MAX-ACCESS read-only
    	STATUS     current
    	DESCRIPTION "" 
        ::= { olmEntry 10 } 

olmRxEdfaGain  OBJECT-TYPE
    SYNTAX     FloatTenths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        ""
    ::= { olmEntry 11 }

olmRxEdfaOutputTargetPower  OBJECT-TYPE
    SYNTAX     FloatTenths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        ""
    ::= { olmEntry 12 }

olmDefFlexLicModformat OBJECT-TYPE
    SYNTAX     InfnOlmDefFlexLicModformat
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        "This objects controls the operating mode for  OLM and DLM in Gen1 and Gen2 modes."
    ::= { olmEntry 13 }

olmBwQmax  OBJECT-TYPE
    SYNTAX     FloatThousandths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION ""
    ::= { olmEntry 14 }

olmBwQused  OBJECT-TYPE
    SYNTAX     FloatThousandths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION ""
    ::= { olmEntry 15 }

olmBwQlicensed  OBJECT-TYPE
    SYNTAX     FloatThousandths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION ""
    ::= { olmEntry 16 }

olmBwBmax  OBJECT-TYPE
    SYNTAX     FloatThousandths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION ""
    ::= { olmEntry 17 }

olmBwBused  OBJECT-TYPE
    SYNTAX     FloatThousandths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION ""
    ::= { olmEntry 18 }

olmBwBlicensed  OBJECT-TYPE
    SYNTAX     FloatThousandths 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION ""
    ::= { olmEntry 19 }

olmOTNContainerRepresentation	OBJECT-TYPE
    SYNTAX     InfnOtnOtuType
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION ""
    ::= { olmEntry  20 }

olmInstalledOTNContainerRepresentation	OBJECT-TYPE
    SYNTAX     InfnOtnOtuType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION ""
    ::= { olmEntry  21 }

olmCompliance  MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION 
        ""
    MODULE
        MANDATORY-GROUPS { olmGroup } 
    ::= { olmCompliances 1 }

olmGroup  OBJECT-GROUP
    OBJECTS {  
		olmMoId ,
    	olmProvEqptType ,   	
    	olmOperatingMode ,    
    	olmAvailableTunableOcgNumbers , 	 
    	olmTunableOcgNumber ,	
    	olmCurOcgNumber	 ,  	
    	olmPicDspVer 	 , 	
    	olmOcgNumber,
    	olmRowStatus,
    	actvTimingSource,
        olmRxEdfaGain,
        olmRxEdfaOutputTargetPower,
        olmDefFlexLicModformat,
        olmBwQmax,
        olmBwQused,
        olmBwQlicensed,
        olmBwBmax,
        olmBwBused,
        olmBwBlicensed,
		olmOTNContainerRepresentation,
		olmInstalledOTNContainerRepresentation

    }
    STATUS     current
    DESCRIPTION 
        ""
    ::= { olmGroups 1 }
END
