LUM-FC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, NOTIFICATION-TYPE, Gauge32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION, DisplayString, DateAndTime
        FROM SNMPv2-TC
    lumModules, lumFcMIB
        FROM LUM-REG
    FaultStatus, MgmtNameString, SubrackNumber, SlotNumber, PortNumber,
    BoardOrInterfaceOperStatus, BoardOrInterfaceAdminStatus, ObjectProperty
        FROM LUM-TC;

lumFcMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201706150000Z" -- June 15th 2017
    ORGANIZATION
        "Infinera Corporation"
    CONTACT-INFO
        "techsupport@infinera.com"
    DESCRIPTION
        "The fiber channel client interface MIB.

        - General

        - Fiber channel client interfaces

"
    REVISION
        "201706150000Z" -- June 15th 2017
    DESCRIPTION
        "Changes made for release r29.0:
         - Changed ORGANIZATION and CONTACT-INFO"
    REVISION
        "201601110000Z" -- Jan 11th 2016
    DESCRIPTION
	"Added default operStatus to notPresent."
    REVISION
        "200212060000Z" -- Dec 6th 2002
    DESCRIPTION
        "powerLevel attributes removed; not supported in hardware."
    REVISION
        "200211190000Z" -- Nov 19th 2002
    DESCRIPTION
        "InterpacketGap: removed 64."
    REVISION
        "200211130000Z" -- Nov 13th 2002
    DESCRIPTION
        "Removed auto from autoNeg."
    REVISION
        "200206250000Z" -- June 25th 2002
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 23 }


-- ----------------------------------------------------
-- Conformance area, containing groups and complicance
-- specifications.
-- ----------------------------------------------------

lumFcConfs OBJECT IDENTIFIER ::= { lumFcMIB 1 }
lumFcGroups OBJECT IDENTIFIER ::= { lumFcConfs 1 }
lumFcCompl OBJECT IDENTIFIER ::= { lumFcConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the eth MIB
-- ----------------------------------------------------

lumFcMIBObjects OBJECT IDENTIFIER ::= { lumFcMIB 2 }


-- ----------------------------------------------------
-- This MIB contains the following groups:
-- ----------------------------------------------------

fcGeneral OBJECT IDENTIFIER ::= { lumFcMIBObjects 1 }
fcIfList OBJECT IDENTIFIER ::= { lumFcMIBObjects 2 }
lumentisFcNotifications  OBJECT IDENTIFIER ::= { lumFcMIBObjects 3 }


-- ----------------------------------------------------
-- Textual Conventions
-- ----------------------------------------------------

FcSignalFormat ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Signal format for fiber channel interfaces.

        fc1Gb - FIber channel 1.0625 Gbps signal"
    SYNTAX INTEGER {
        undefined (0),
        fc1Gb (1) }


-- ----------------------------------------------------
-- General group
-- ----------------------------------------------------

fcGeneralLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the MIB was
        last changed.

"
    ::= { fcGeneral 1 }

fcGeneralStateLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the state of the MIB was last
        changed.

"
    ::= { fcGeneral 2 }

fcGeneralFcIfTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of table

"
    ::= { fcGeneral 3 }


-- ----------------------------------------------------
-- Multi-bit rate client interfaces
-- ----------------------------------------------------

fcIfTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF FcIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The interface list."
    ::= { fcIfList 1 }

fcIfEntry OBJECT-TYPE
    SYNTAX      FcIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the interface list.

"
    INDEX { fcIfIndex }
    ::= { fcIfTable 1 }

FcIfEntry ::=
    SEQUENCE {
        fcIfIndex                       Unsigned32,
        fcIfName                        MgmtNameString,
        fcIfDescr                       DisplayString,
        fcIfSubrack                     SubrackNumber,
        fcIfSlot                        SlotNumber,
        fcIfTxPort                      PortNumber,
        fcIfRxPort                      PortNumber,
        fcIfInvPhysIndexOrZero          Unsigned32,
        fcIfFormat                      FcSignalFormat,
        fcIfHighSpeed                   Gauge32,
        fcIfAdminStatus                 BoardOrInterfaceAdminStatus,
        fcIfOperStatus                  BoardOrInterfaceOperStatus,
        fcIfLaserStatus                 INTEGER,
        fcIfTxSignalStatus              INTEGER,
        fcIfLossOfSignal                FaultStatus,
        fcIfLossOfSync                  FaultStatus,
        fcIfAuAlarmIndicationSignalW2C  FaultStatus,
        fcIfForwardAls                  INTEGER,
        fcIfSuppressRemoteAlarms        INTEGER,
        fcIfFarEndLoopback              INTEGER,
	fcIfEntityId			Unsigned32,
        fcIfObjectProperty              ObjectProperty }

fcIfIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.

"
    ::= { fcIfEntry 1 }

fcIfName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the interface, for example
        'fc:1:2:1', where the first number indicates
        sub-rack, the second slot number and the third
        is the port number. Examples:

        fc:s:s:p - Fiber channel client interface

"
    ::= { fcIfEntry 2 }

fcIfDescr OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "User configurable label.

"
    DEFVAL { "" }
    ::= { fcIfEntry 3 }

fcIfSubrack OBJECT-TYPE
    SYNTAX      SubrackNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the subrack where the interface
        is located.

"
    ::= { fcIfEntry 4 }

fcIfSlot OBJECT-TYPE
    SYNTAX      SlotNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the slot where the interface is
        located.

"
    ::= { fcIfEntry 5 }

fcIfTxPort OBJECT-TYPE
    SYNTAX      PortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the port where the TX-side of the
        interface is located.

"
    ::= { fcIfEntry 6 }

fcIfRxPort OBJECT-TYPE
    SYNTAX      PortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the port where the RX-side of the
        interface is located.

"
    ::= { fcIfEntry 7 }

fcIfInvPhysIndexOrZero OBJECT-TYPE
    SYNTAX      Unsigned32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The row in the invPhysTable for this interface.
        Set to 0 if not known.

"
    ::= { fcIfEntry 8 }

fcIfFormat OBJECT-TYPE
    SYNTAX      FcSignalFormat
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The expected signal format.

"
    DEFVAL { fc1Gb }
    ::= { fcIfEntry 9 }

fcIfHighSpeed OBJECT-TYPE
    SYNTAX      Gauge32 (1000..2000)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The expected signal bit rate in units of
        1,000,000 bits (Mb) per second.

"
    DEFVAL { 1000 }
    ::= { fcIfEntry 10 }

fcIfAdminStatus OBJECT-TYPE
    SYNTAX      BoardOrInterfaceAdminStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative state for the interface.

        down - The interface should be inactive.

        service - The interface is activated but alarms
        are suppressed. Intended for use during service
        or re-configuration. When service is concluded
        adminStatus should be set to 'up' again.

        up - The interface should be activated when
        it becomes available. Alarms are not suppressed.

"
    DEFVAL { up }
    ::= { fcIfEntry 11 }

fcIfOperStatus OBJECT-TYPE
    SYNTAX      BoardOrInterfaceOperStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state for the interface.

        notPresent - The physical resources are not
        available.

        down - The interface is de-activated or the are
        faults preventing it from going to the
        'up'-state.

        up - The interface is operational.

"
    DEFVAL { notPresent }
    ::= { fcIfEntry 12 }

fcIfLaserStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    off (1),
                    on (2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state of the laser.

        off - The laser is turned off.

        on - The laser is turned on.

"
    ::= { fcIfEntry 13 }

fcIfTxSignalStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        down (1),
                        degraded (2),
                        up (3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state for outgoing (TX) signal
        of the interface.

        down - A fault that would lead to a protection
        switch has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { fcIfEntry 14 }


fcIfLossOfSignal OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Loss of signal.
        Applicable for all signal formats.

        A(ctivation): Active loss of signal HW
        indication.

        D(e-activation): Inactive loss of signal HW
        indication.

"
    ::= { fcIfEntry 15 }

fcIfLossOfSync OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Loss of sync.

        A: FC 'frame' can not be located.

        D: FC 'frame' is located.

"
    ::= { fcIfEntry 16 }

fcIfAuAlarmIndicationSignalW2C OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Alarm Indication Signal in the direction WDM
        to Client.

        A(ctivation): AIS detected in the WDM signal
        for this channel.

        D(e-activation): No AIS detected for this
        channel.

"
    ::= { fcIfEntry 17 }

fcIfForwardAls OBJECT-TYPE
    SYNTAX      INTEGER {
                    disabled (1),
                    enabled (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Forward Automatic Laser Shut-down. Decides the
        behaviour of the client laser (W2C) when the
        trunc signal is defected.

        disabled - The laser is NOT turned off at failure.

        enabled - The laser is turned off at failure.

"
    DEFVAL { disabled }
    ::= { fcIfEntry 18 }


fcIfSuppressRemoteAlarms OBJECT-TYPE
    SYNTAX      INTEGER {
                    disabled (1),
                    enabled (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Suppress AIS in the alarm list. The fault status
        on the port object can, however, be seen.

        disabled - alarms are not suppressed.

        enabled - alarms are suppressed.

"
    DEFVAL { disabled }
    ::= { fcIfEntry 19 }

fcIfFarEndLoopback OBJECT-TYPE
    SYNTAX      INTEGER {
                    disabled (1),
                    enabled (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Loop the client TX signal back to the client RX.

        disabled - the signal is not looped

        enabled - the signal is looped.

"
    DEFVAL { disabled }
    ::= { fcIfEntry 20 }


fcIfEntityId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index in entity table.

        -- Only used for notifications

"
    ::= { fcIfEntry 21 }

fcIfObjectProperty OBJECT-TYPE
    SYNTAX      ObjectProperty
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Property mask.

"
    ::= { fcIfEntry 22 }

-- ----------------------------------------------------
-- Notifications
-- ----------------------------------------------------

fcNotifyPrefix OBJECT IDENTIFIER ::= { lumentisFcNotifications 0 }

fcIfTxSignalStatusDown NOTIFICATION-TYPE
    OBJECTS {
        fcIfIndex,
        fcIfName,
        fcIfSubrack,
        fcIfSlot,
        fcIfTxPort,
        fcIfRxPort,
        fcIfEntityId,
        fcIfTxSignalStatus }
    STATUS      current
    DESCRIPTION
        "Sent when the signal status attribute of an
        interface changes.

"
    ::= { fcNotifyPrefix 1 }

fcIfTxSignalStatusUp NOTIFICATION-TYPE
    OBJECTS {
        fcIfIndex,
        fcIfName,
        fcIfSubrack,
        fcIfSlot,
        fcIfTxPort,
        fcIfRxPort,
        fcIfEntityId,
        fcIfTxSignalStatus }
    STATUS      current
    DESCRIPTION
        "Sent when the signal status attribute of an
        interface changes.

"
    ::= { fcNotifyPrefix 2 }

fcIfTxSignalStatusDegraded NOTIFICATION-TYPE
    OBJECTS {
        fcIfIndex,
        fcIfName,
        fcIfSubrack,
        fcIfSlot,
        fcIfTxPort,
        fcIfRxPort,
        fcIfEntityId,
        fcIfTxSignalStatus }
    STATUS      current
    DESCRIPTION
        "Sent when the signal status attribute of an
        interface changes.

"
    ::= { fcNotifyPrefix 3 }


-- ----------------------------------------------------
-- Object and event groups
-- ----------------------------------------------------

fcGeneralGroup OBJECT-GROUP
    OBJECTS {
        fcGeneralLastChangeTime,
        fcGeneralStateLastChangeTime}
    STATUS      deprecated
    DESCRIPTION
        "The general objects."
    ::= { lumFcGroups 1 }

fcIfGroup OBJECT-GROUP
    OBJECTS {
        fcIfIndex,
        fcIfName,
        fcIfDescr,
        fcIfSubrack,
        fcIfSlot,
        fcIfTxPort,
        fcIfRxPort,
        fcIfInvPhysIndexOrZero,
        fcIfFormat,
        fcIfHighSpeed,
        fcIfLaserStatus,
        fcIfAdminStatus,
        fcIfOperStatus,
        fcIfTxSignalStatus,
        fcIfLossOfSignal,
        fcIfLossOfSync,
        fcIfAuAlarmIndicationSignalW2C,
        fcIfForwardAls,
        fcIfSuppressRemoteAlarms,
        fcIfFarEndLoopback }
    STATUS      deprecated
    DESCRIPTION
        "The fc interface objects."
    ::= { lumFcGroups 2 }

fcNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        fcIfTxSignalStatusDown,
        fcIfTxSignalStatusUp,
        fcIfTxSignalStatusDegraded }
    STATUS      current
    DESCRIPTION
        "The fc notifications."
    ::= { lumFcGroups 3 }


fcGeneralGroupV2 OBJECT-GROUP
    OBJECTS {
        fcGeneralLastChangeTime,
        fcGeneralStateLastChangeTime,
        fcGeneralFcIfTableSize }
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumFcGroups 4 }

fcIfGroupV2 OBJECT-GROUP
    OBJECTS {
        fcIfIndex,
        fcIfName,
        fcIfDescr,
        fcIfSubrack,
        fcIfSlot,
        fcIfTxPort,
        fcIfRxPort,
        fcIfInvPhysIndexOrZero,
        fcIfFormat,
        fcIfHighSpeed,
        fcIfLaserStatus,
        fcIfAdminStatus,
        fcIfOperStatus,
        fcIfTxSignalStatus,
        fcIfLossOfSignal,
        fcIfLossOfSync,
        fcIfAuAlarmIndicationSignalW2C,
        fcIfForwardAls,
        fcIfSuppressRemoteAlarms,
        fcIfFarEndLoopback,
	fcIfEntityId,
        fcIfObjectProperty }
    STATUS      current
    DESCRIPTION
        "The fc interface objects (4.0)."
    ::= { lumFcGroups 5 }


-- ----------------------------------------------------
-- Compliance
-- ----------------------------------------------------

lumFcBasicComplV1 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the fc MIB V1."
    MODULE
        MANDATORY-GROUPS {
            fcGeneralGroup,
            fcIfGroup,
            fcNotificationGroup }
    ::= { lumFcCompl 1 }

lumFcBasicComplV2 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the fc MIB V2. (3.1)"
    MODULE
        MANDATORY-GROUPS {
            fcGeneralGroupV2,
            fcIfGroup,
            fcNotificationGroup }
    ::= { lumFcCompl 2 }

lumFcBasicComplV3 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the fc MIB V2. (4.0)"
    MODULE
        MANDATORY-GROUPS {
            fcGeneralGroupV2,
            fcIfGroupV2,
            fcNotificationGroup }
    ::= { lumFcCompl 3 }


END


