-- *****************************************************************
-- INFINERA-TP-LMOCHPTP-MIB
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-TP-LMOCHPTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE                FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    DisplayString, TruthValue                   FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    terminationPoint                            FROM INFINERA-REG-MIB
    FloatTenths					FROM INFINERA-TC-MIB;

lmOchPtpMIB MODULE-IDENTITY
    LAST-UPDATED  "201105230000Z"
    ORGANIZATION  "Infinera"
    CONTACT-INFO
        "Infinera
        1322 Bordeaux Drive
        Sunnyvale, CA - 94089

        Contact : Technical Support
        Email   : support@infinera.com
        Phone   : 1-877-INF-5288"
    DESCRIPTION
        " "
    REVISION  "201105230000Z"
    DESCRIPTION
        "First Version"
    ::= { terminationPoint 27 }

lmOchPtpTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LmOchPtpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of LmOchPtp entries. Each entry is uniquely identified by the value of ifIndex."
    ::= { lmOchPtpMIB 1 } 

lmOchPtpEntry  OBJECT-TYPE
    SYNTAX      LmOchPtpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A LmOchPtp entry containing information pertaining to Infinera LmOchPtp Interfaces.
        This table is a subclass of IfCommon. Entries will exist in this table only for
        interfaces of type LMOCHPTP."
    INDEX { ifIndex }
    ::= { lmOchPtpTable 1 }


LmOchPtpEntry  ::= SEQUENCE {
    lmOchPtpAutoDiscoveryState     INTEGER,
    lmOchPtpRate                   Integer32,
    lmOchPtpTuneableOchNumber      Integer32,
    lmOchPtpTuneableOcgNumber      Integer32,
    lmOchPtpInstalledOchNumber     Integer32,
    lmOchPtpInstalledOcgNumber     Integer32,
    lmOchPtpInstalledWavelength    FloatTenths,
    lmOchPtpDiscoveredOchPortId    DisplayString, 
    lmOchPtpRemoteOcgPortId        DisplayString, 
    lmOchPtpPmHistStatsEnable      INTEGER,
    lmOchPtpFFCRBlockSize          Integer32,
    lmOchPtpModulation             INTEGER,
    lmOchPtpInstalledModulation    INTEGER,
    lmOchPtpCDCompMode             INTEGER,
    lmOchPtpCDSearchStepSize      Integer32,
    lmOchPtpCDCompStart           Integer32,
    lmOchPtpCDCompEnd             Integer32,
    lmOchPtpFwUpgradeStatus       INTEGER
}

lmOchPtpAutoDiscoveryState OBJECT-TYPE
    SYNTAX  INTEGER {
        inProgress(1),
        completed(2),
        unknown(3),
        notValidOrShutdown(4),
        failed(5)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "State of the auto discovery. Completed indicates that the exchange of ID with corresponding
        BMM was successful. It does not tell whether there is a mismatch or not."
    DEFVAL      { notValidOrShutdown }
    ::= { lmOchPtpEntry  1 }

lmOchPtpRate OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rate of LMOCHPTP."
    ::= { lmOchPtpEntry  2} 

lmOchPtpTuneableOchNumber OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Tuneable OCH Number of LMOCHPTP."
    ::= { lmOchPtpEntry  3}    

lmOchPtpTuneableOcgNumber OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Tuneable OCG Number of LMOCHPTP."
    ::= { lmOchPtpEntry  4}    
    

lmOchPtpInstalledOchNumber OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Installed OCH Number of LMOCHPTP."
    ::= { lmOchPtpEntry  5}    

lmOchPtpInstalledOcgNumber OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Installed OCG Number of LMOCHPTP."
    ::= { lmOchPtpEntry  6}    

lmOchPtpInstalledWavelength  OBJECT-TYPE
    SYNTAX     FloatTenths
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "Installed wavelength."
    ::= { lmOchPtpEntry 7 }

lmOchPtpDiscoveredOchPortId  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Discovered OCH  Port ID ."
    ::= { lmOchPtpEntry  8 }

lmOchPtpRemoteOcgPortId  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Discovered OCH  Port ID ."
    ::= { lmOchPtpEntry  9 }
    
lmOchPtpPmHistStatsEnable OBJECT-TYPE
    SYNTAX  INTEGER {
        enabled(1),
        disabled(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Flag to enable or disable PM collection."
    DEFVAL      { enabled }
    ::= { lmOchPtpEntry  10 }

lmOchPtpFFCRBlockSize OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "FFCR Block Size of LMOCHPTP."
    ::= { lmOchPtpEntry  11}   

lmOchPtpModulation OBJECT-TYPE
    SYNTAX  INTEGER {
        pm-Qpsk(1),
        pm-Bpsk(2)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Provisioned Modulation of LMOCHPTP."
    DEFVAL { pm-Qpsk }
    ::= { lmOchPtpEntry  12} 

lmOchPtpInstalledModulation OBJECT-TYPE
    SYNTAX  INTEGER {
        pm-Qpsk(1),
        pm-Bpsk(2)
    }    
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Installed Modulation of LMOCHPTP."
    DEFVAL { pm-Qpsk }
    ::= { lmOchPtpEntry  13} 

lmOchPtpCDCompMode OBJECT-TYPE
    SYNTAX  INTEGER {
        automatic(1),
        manual(2),
	disable(3)
    }      
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Chromatic Dispersion of LMOCHPTP."
    DEFVAL { automatic }
    ::= { lmOchPtpEntry  14}  

lmOchPtpCDSearchStepSize OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "CD search step of LMOCHPTP."
    ::= { lmOchPtpEntry  15} 

lmOchPtpCDCompStart OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "CD Comp Start of LMOCHPTP."
    ::= { lmOchPtpEntry  16}  

lmOchPtpCDCompEnd OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "CD Comp End of LMOCHPTP."
    ::= { lmOchPtpEntry  17}

lmOchPtpFwUpgradeStatus OBJECT-TYPE
    SYNTAX  INTEGER {
        none(1),
        inProgress(2),
	completed(3),
	failed(4)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Firmware Upgrade Status of LMOCHPTP."
    DEFVAL { none }
    ::= { lmOchPtpEntry  18} 
 
 
-- Conformance Statements
lmOchPtpConformance    OBJECT IDENTIFIER ::= { lmOchPtpMIB 3 }
lmOchPtpCompliances    OBJECT IDENTIFIER ::= { lmOchPtpConformance 1 }
lmOchPtpGroups         OBJECT IDENTIFIER ::= { lmOchPtpConformance 2 }

lmOchPtpCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the LMOCHPTP-MIB"
    MODULE
        MANDATORY-GROUPS { lmOchPtpGroup }
    ::= { lmOchPtpCompliances 1 }

lmOchPtpGroup OBJECT-GROUP
    OBJECTS {
    lmOchPtpAutoDiscoveryState     ,
    lmOchPtpRate                   ,
    lmOchPtpTuneableOchNumber      ,
    lmOchPtpTuneableOcgNumber      ,
    lmOchPtpInstalledOchNumber     ,
    lmOchPtpInstalledOcgNumber     ,
    lmOchPtpInstalledWavelength    ,
    lmOchPtpDiscoveredOchPortId    , 
    lmOchPtpRemoteOcgPortId        , 
    lmOchPtpPmHistStatsEnable      ,
    lmOchPtpFFCRBlockSize          ,
    lmOchPtpModulation             ,
    lmOchPtpInstalledModulation    ,
    lmOchPtpCDCompMode            ,
    lmOchPtpCDSearchStepSize      ,
    lmOchPtpCDCompStart           ,
    lmOchPtpCDCompEnd		  ,
    lmOchPtpFwUpgradeStatus
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing the lmOchPtp"
    ::= { lmOchPtpGroups 1 }


END
