-- *****************************************************************
-- INFINERA-TP-IDLERCTP-MIB
--
-- May 2017, Kavitha Manjunatha/Divyank Rastogi
--
--
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

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

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, Integer32        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE                FROM SNMPv2-CONF
    DisplayString                                  FROM SNMPv2-TC
    ifIndex                                        FROM IF-MIB
    terminationPoint                               FROM INFINERA-REG-MIB
    InfnPmHistStatsControl, InfnLaserStatus,
    InfnSBSMode, FloatArbitraryPrecision           FROM INFINERA-TC-MIB;

idlerCtpMIB MODULE-IDENTITY
    LAST-UPDATED  "201706280000Z"
    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  "201706280000Z"
    DESCRIPTION
        "First Version"
::= { terminationPoint 85 }

-- Conformance Statements

idlerCtpConformance    OBJECT IDENTIFIER ::= { idlerCtpMIB 3 }
idlerCtpCompliances    OBJECT IDENTIFIER ::= { idlerCtpConformance 1 }
idlerCtpGroups         OBJECT IDENTIFIER ::= { idlerCtpConformance 2 }

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

idlerCtpEntry  OBJECT-TYPE
    SYNTAX      IdlerCtpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A IdlerCtp entry containing information pertaining to Infinera IdlerCtp interfaces
        This table is a subclass of IfCommon."
    INDEX { ifIndex }
    ::= { idlerCtpTable 1 }

IdlerCtpEntry  ::= SEQUENCE {
    moID                           DisplayString,
    sbsMode                        InfnSBSMode,
    sbsAmplitude                   FloatArbitraryPrecision,
    sbsFrequencyWidth              FloatArbitraryPrecision,
    sbsTone                        FloatArbitraryPrecision,
    laserStatus                    InfnLaserStatus,
    targetOpt                      FloatArbitraryPrecision,
    channelFrequencyOffset         FloatArbitraryPrecision,
    channelFrequency               FloatArbitraryPrecision,
    channelPower                   FloatArbitraryPrecision,
    pmHistStatsEnable              InfnPmHistStatsControl
}

moID  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "IdlerCtp object AID"
    ::= { idlerCtpEntry 1 }

sbsMode  OBJECT-TYPE
    SYNTAX     InfnSBSMode
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "SBS Mode"
    ::= { idlerCtpEntry 2 }

sbsAmplitude  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "SBS Mode"
    ::= { idlerCtpEntry 3 }

sbsFrequencyWidth  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "SBS FrequencyWidth"
    ::= { idlerCtpEntry 4 }

sbsTone  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "SBS Tone"
    ::= { idlerCtpEntry 5 }

laserStatus  OBJECT-TYPE
    SYNTAX     InfnLaserStatus
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "SBS Mode"
    ::= { idlerCtpEntry 6 }

targetOpt  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Target Optical Power Transmitted"
    ::= { idlerCtpEntry 7 }

channelFrequencyOffset  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Channel Frequency Offset"
    ::= { idlerCtpEntry 8 }

channelFrequency  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Channel Frequency"
    ::= { idlerCtpEntry 9 }

channelPower  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Channel Power"
    ::= { idlerCtpEntry 10 }

pmHistStatsEnable  OBJECT-TYPE
    SYNTAX     InfnPmHistStatsControl
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "SBS Mode"
    ::= { idlerCtpEntry 11 }

idlerCtpCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the INFINERA-IDLERCTP-MIB"
    MODULE
        MANDATORY-GROUPS { idlerCtpGroup }
    ::= { idlerCtpCompliances 1 }

idlerCtpGroup OBJECT-GROUP
    OBJECTS {
        moID,
        sbsMode,
        sbsAmplitude,
        sbsFrequencyWidth,
        sbsTone,
        laserStatus,
        targetOpt,
        channelFrequencyOffset,
        channelFrequency,
        channelPower,
        pmHistStatsEnable
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing the idlerCtp"
    ::= { idlerCtpGroups 1 }

END
