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

INFINERA-TP-LMOCGPTP-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
    InfnModulation, InfnEncoding,
    FloatTenths, InfnAutoDiscoveryState,
    InfnPowerControlLoop, InfnLineSystemMode    FROM INFINERA-TC-MIB;


lmOcgPtpMIB 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
        " "
    REVISION  "200810200000Z"
    DESCRIPTION
        "First Version"
    ::= { terminationPoint 34 }

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

lmOcgPtpEntry  OBJECT-TYPE
    SYNTAX      LmOcgPtpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A LmOcgPtp entry containing information pertaining to Infinera LmOcgPtp Interfaces.
        This table is a subclass of IfCommon. Entries will exist in this table only for
        interfaces of type LM OCG PTP."
    INDEX { ifIndex }
    ::= { lmOcgPtpTable 1 }


LmOcgPtpEntry  ::= SEQUENCE {
    lmOcgPtpDiscoveredRemoteTP      DisplayString,
    lmOcgPtpAutoDiscoveryState      InfnAutoDiscoveryState,
    lmOcgPtpOcgPowerControlLoop     InfnPowerControlLoop,
    lmOcgPtpProvisionedOcgTP        DisplayString,
    lmOcgPtpDiscoveredOcgTP         DisplayString,
	lmOcgPtpAssocTeIntfList         DisplayString,
	lmOcgPtpChannelCount            FloatTenths,
	lmOcgPtpLineSystemMode          InfnLineSystemMode,
	lmOcgPtpProvPeerTP              DisplayString,
	lmOcgOpenwaveTargetTxOcgPower   FloatTenths,
	lmOcgProvisionedEncodingMode    InfnEncoding,
	lmOcgInstalledEncodingMode      InfnEncoding
}

lmOcgPtpDiscoveredRemoteTP OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This refers to the name of the BMM OCG PTP to which this fiber is connected."
    ::= { lmOcgPtpEntry  1 }

lmOcgPtpAutoDiscoveryState OBJECT-TYPE
    SYNTAX      InfnAutoDiscoveryState 
    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      { notValid }
    ::= { lmOcgPtpEntry  2 }

lmOcgPtpOcgPowerControlLoop OBJECT-TYPE
    SYNTAX      InfnPowerControlLoop 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Parameter that indicates whether OCG Control Loop is enabled or disabled."
    DEFVAL      { enabled }
    ::= { lmOcgPtpEntry  3 }

lmOcgPtpProvisionedOcgTP  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Provisioned OCG TP."
    ::= { lmOcgPtpEntry  4 }

lmOcgPtpDiscoveredOcgTP  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "DisplayString OCG TP"
    ::= { lmOcgPtpEntry  5 }

lmOcgPtpAssocTeIntfList OBJECT-TYPE
    SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	    "Associated Te-Interface list OCG TP"
	::= { lmOcgPtpEntry 6}
	
lmOcgPtpChannelCount  OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Channel count OCG TP"
    ::= { lmOcgPtpEntry  7 }

lmOcgPtpLineSystemMode  OBJECT-TYPE
    SYNTAX      InfnLineSystemMode 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "System mode OCG TP"
    ::= { lmOcgPtpEntry  8 }
	
lmOcgPtpProvPeerTP  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Peer TP OCG TP"
    ::= { lmOcgPtpEntry  9 }
	
lmOcgOpenwaveTargetTxOcgPower  OBJECT-TYPE
    SYNTAX FloatTenths
	MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Target Tx Power OCG TP"
    ::= { lmOcgPtpEntry  10 }
	
lmOcgProvisionedEncodingMode  OBJECT-TYPE
    SYNTAX      InfnEncoding
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Provisioned Encoding mode OCG TP"
    ::= { lmOcgPtpEntry  11 }

lmOcgInstalledEncodingMode  OBJECT-TYPE
    SYNTAX      InfnEncoding
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Provisioned Encoding mode OCG TP"
    ::= { lmOcgPtpEntry  12 }

-- Conformance Statements
lmOcgPtpConformance    OBJECT IDENTIFIER ::= { lmOcgPtpMIB 3 }
lmOcgPtpCompliances    OBJECT IDENTIFIER ::= { lmOcgPtpConformance 1 }
lmOcgPtpGroups         OBJECT IDENTIFIER ::= { lmOcgPtpConformance 2 }

lmOcgPtpCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the LMOCGPTP-MIB"
    MODULE
        MANDATORY-GROUPS { lmOcgPtpGroup }
    ::= { lmOcgPtpCompliances 1 }

lmOcgPtpGroup OBJECT-GROUP
    OBJECTS {
        lmOcgPtpDiscoveredRemoteTP,
        lmOcgPtpAutoDiscoveryState,
        lmOcgPtpOcgPowerControlLoop,
        lmOcgPtpProvisionedOcgTP,
        lmOcgPtpDiscoveredOcgTP,
		lmOcgPtpAssocTeIntfList,
		lmOcgPtpChannelCount,            
        lmOcgPtpLineSystemMode,     
        lmOcgPtpProvPeerTP,           
        lmOcgOpenwaveTargetTxOcgPower,
        lmOcgProvisionedEncodingMode, 
        lmOcgInstalledEncodingMode  
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing the lmOcgPtp"
    ::= { lmOcgPtpGroups 1 }
END
