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

INFINERA-TP-CMMOCGPTP-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;


cmmOcgPtpMIB 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 28 }

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

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


CmmOcgPtpEntry  ::= SEQUENCE {
    cmmOcgPtpDiscoveredRemoteTP      DisplayString,
    cmmOcgPtpAutoDiscoveryState      INTEGER,
    cmmOcgPtpPmHistStatsEnable       INTEGER,
    cmmOcgPtpOperatingMode           INTEGER,
    cmmOcgPtpOcgPowerControlLoop     INTEGER,
    cmmOcgPtpProvisionedOcgNumber    Integer32   
}

cmmOcgPtpDiscoveredRemoteTP 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."
    ::= { cmmOcgPtpEntry  1 }


cmmOcgPtpAutoDiscoveryState 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 }
    ::= { cmmOcgPtpEntry  2 }


cmmOcgPtpPmHistStatsEnable OBJECT-TYPE
    SYNTAX  INTEGER {
        enabled(1),
        disabled(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Flag to enable or disable PM collection."
    DEFVAL      { enabled }
    ::= { cmmOcgPtpEntry  3 }

cmmOcgPtpOperatingMode  OBJECT-TYPE
    SYNTAX     INTEGER {
        gen1 (1),
        gen2 (2)
    }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
        "This objects controls the operating mode for  CMMOCG in Gen1 and Gen2 modes."
    DEFVAL  { gen2 }
    ::= { cmmOcgPtpEntry 4 }

    
cmmOcgPtpOcgPowerControlLoop OBJECT-TYPE
    SYNTAX  INTEGER {
        disabled(1),
        enabled(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Parameter that indicates whether OCG Control Loop is enabled or disabled."
    DEFVAL      { enabled }
    ::= { cmmOcgPtpEntry  5 }

    
cmmOcgPtpProvisionedOcgNumber OBJECT-TYPE
    SYNTAX      Integer32 (1..16)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The OCG number that this BMM OCG TP is associated to. This maps 1-to-1 with the DLM/XLM type.
        Auto-discovery processes needs to ensure that the ocgNumber and the DLM/XLM type are
        compatible before turning the DLM on."
    ::= { cmmOcgPtpEntry  6 }    

-- Conformance Statements
cmmOcgPtpConformance    OBJECT IDENTIFIER ::= { cmmOcgPtpMIB 3 }
cmmOcgPtpCompliances    OBJECT IDENTIFIER ::= { cmmOcgPtpConformance 1 }
cmmOcgPtpGroups         OBJECT IDENTIFIER ::= { cmmOcgPtpConformance 2 }

cmmOcgPtpCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the CMMOCGPTP-MIB"
    MODULE
        MANDATORY-GROUPS { cmmOcgPtpGroup }
    ::= { cmmOcgPtpCompliances 1 }

cmmOcgPtpGroup OBJECT-GROUP
    OBJECTS {
        cmmOcgPtpDiscoveredRemoteTP,
        cmmOcgPtpAutoDiscoveryState,
        cmmOcgPtpPmHistStatsEnable,
        cmmOcgPtpOcgPowerControlLoop,
        cmmOcgPtpProvisionedOcgNumber
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing the cmmOcgPtp"
    ::= { cmmOcgPtpGroups 1 }


END
