-- ***************************************************************
-- INFINERA-ENTITY-ORM-MIB
--   
-- October 2008, Sharfuddin Syed / Narendra Gupta
--   
--   
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

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

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, Integer32        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE                FROM SNMPv2-CONF
    RowStatus, TruthValue, DisplayString           FROM SNMPv2-TC
    entPhysicalIndex                               FROM ENTITY-MIB
    equipment                                      FROM INFINERA-REG-MIB
    InfnFiberType, FloatHundredths,
    FloatTenths, InfnEnableDisable, InfnEqptType   FROM INFINERA-TC-MIB;

ormMIB MODULE-IDENTITY
    LAST-UPDATED  "200810200000Z"
    ORGANIZATION 
        "Infinera"
    CONTACT-INFO 
        "Infinera
                1322 Bordeaux Drive
                Sunnyvale, CA - 94089
        
                Contact : Technical Support
                Email   : support@infinera.com
                Phone   : 1-877-INF-5288"
    DESCRIPTION 
        " "
::= { equipment 16 }


-- Conformance Statements

ormConformance       OBJECT IDENTIFIER ::= { ormMIB 3 }
ormCompliances       OBJECT IDENTIFIER ::= { ormConformance 1 }
ormGroups            OBJECT IDENTIFIER ::= { ormConformance 2 }

-- January 28, 2008
-- January 28, 2008

ormTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF OrmEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "A list of ORM entries. Each entry is uniquely identified by the value
                of entPhysicalIndex."
    ::= { ormMIB 1 }

ormEntry  OBJECT-TYPE
    SYNTAX     OrmEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "A ORM entry containing information pertaining to
                Infinera ORM modules. Entries will exist in this table for
                entPhysicalEntries of type ORM."
    INDEX { entPhysicalIndex }
    ::= { ormTable 1 }

OrmEntry ::= SEQUENCE {
    ormMoId                      DisplayString,
    ormProvisonedType            InfnEqptType,
    ormRxAmpDeviceSetpoint       FloatTenths,
    ormRxAmpDeviceTarget         FloatTenths,
    ormRxLastAmpDeviceCommitTs   Integer32,
    ormLaunchPowerOffset         FloatTenths,
    ormRxDampSeqNum              Integer32,
    ormTilt                      FloatTenths,
    ormPointLossOffset           FloatTenths,
    ormEnhPMRept                 InfnEnableDisable,
    ormRowStatus                 RowStatus,
    ormCBandSoakCapableFW        TruthValue,
    ormAsePowerBetaCoeffX        FloatHundredths,
    ormAsePowerBetaCoeffY        FloatHundredths,
    ormAsePowerBetaCoeffZ        FloatHundredths,
    ormPumpPowerBetaCoeffX       FloatHundredths,
    ormPumpPowerBetaCoeffY       FloatHundredths,
    ormPumpPowerBetaCoeffZ       FloatHundredths,
    ormPumpRatioPump1            FloatHundredths,
    ormPumpRatioPump2            FloatHundredths,
    ormPumpRatioPump3            FloatHundredths,
    ormPumpRatioPump4            FloatHundredths,
    ormStaticRamanGain           FloatHundredths,
    ormStaticEdfaGain            FloatHundredths,
    ormStaticPostEdfaVoaAttenuation FloatHundredths,
    ormFiberType                 InfnFiberType
}

ormMoId  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The object identifire."
    ::= { ormEntry 1 }

ormProvisonedType  OBJECT-TYPE
    SYNTAX     InfnEqptType
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The configured ORM type."
    ::= { ormEntry 2 }

ormRxAmpDeviceSetpoint  OBJECT-TYPE
    SYNTAX     FloatTenths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "Current gain value for DAMP"
    ::= { ormEntry 3 }

ormRxAmpDeviceTarget  OBJECT-TYPE
    SYNTAX     FloatTenths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "Target gain value for DAMP."
    ::= { ormEntry 4 }

ormRxLastAmpDeviceCommitTs  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "The last gain adjusted time by DAMP protocol."
    ::= { ormEntry 5 }

ormLaunchPowerOffset  OBJECT-TYPE
    SYNTAX     FloatTenths
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The launch power will be adjusted by this value."
    ::= { ormEntry 6 }

ormRxDampSeqNum  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "Current DAMP sequence number."
    ::= { ormEntry 7 }

ormTilt  OBJECT-TYPE
    SYNTAX     FloatTenths
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "This attribute is an offset to the gain tilt of the BMM/OAM/ORM - 
        without any offset applied (offset of 0dB), the gain tilt of the BMM/OAM is 1dB."
    ::= { ormEntry 8 }
    
ormPointLossOffset  OBJECT-TYPE
    SYNTAX     FloatTenths
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "The ORM Point Loss Offset configuration is used to accommodate the
         point-losses such as connector losses and patch cable losses"
    ::= { ormEntry 9 }
 
ormEnhPMRept OBJECT-TYPE
    SYNTAX     InfnEnableDisable
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "This attribute is for enabling and disabling of enhanced PM"
    ::= { ormEntry 10 }

ormRowStatus  OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        " The row status of this ORM 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 ormMoId, ormProvEqptType and other read-create 
                objects  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."
    ::= { ormEntry 11 }

ormCBandSoakCapableFW OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ormEntry 12 }

ormAsePowerBetaCoeffX  OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 13 }

ormAsePowerBetaCoeffY  OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 14 }

ormAsePowerBetaCoeffZ  OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 15 }

ormPumpPowerBetaCoeffX OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 16 }

ormPumpPowerBetaCoeffY OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 17 }

ormPumpPowerBetaCoeffZ OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 18 }

ormPumpRatioPump1 OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 19 }

ormPumpRatioPump2 OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 20 }

ormPumpRatioPump3 OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 21 }

ormPumpRatioPump4 OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 22 }

ormStaticRamanGain OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 23 }

ormStaticEdfaGain OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 24 }

ormStaticPostEdfaVoaAttenuation OBJECT-TYPE
    SYNTAX     FloatHundredths
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 25 }

ormFiberType OBJECT-TYPE
    SYNTAX     InfnFiberType
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        ""
    ::= { ormEntry 26 }

ormCompliance  MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION 
        "Describes the requirements for conformance to the ORM-MIB"
    MODULE
        MANDATORY-GROUPS { ormGroup } 
    ::= { ormCompliances 1 }

ormGroup  OBJECT-GROUP
    OBJECTS { ormMoId, 
        ormProvisonedType, 
        ormRxAmpDeviceSetpoint, 
        ormRxAmpDeviceTarget, 
        ormRxLastAmpDeviceCommitTs, 
        ormLaunchPowerOffset, 
        ormRxDampSeqNum, 
        ormTilt,
        ormPointLossOffset,
        ormEnhPMRept,
        ormRowStatus,
        ormCBandSoakCapableFW,
        ormAsePowerBetaCoeffX,
        ormAsePowerBetaCoeffY,
        ormAsePowerBetaCoeffZ,
        ormPumpPowerBetaCoeffX,
        ormPumpPowerBetaCoeffY,
        ormPumpPowerBetaCoeffZ,
        ormPumpRatioPump1,
        ormPumpRatioPump2,
        ormPumpRatioPump3,
        ormPumpRatioPump4,
        ormStaticRamanGain,
        ormStaticEdfaGain,
        ormStaticPostEdfaVoaAttenuation,
        ormFiberType
    }
    STATUS     current
    DESCRIPTION 
        " A collection of objects for managing a ORM module"
    ::= { ormGroups 1 }
END
