LUM-IFETH-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    DateAndTime
        FROM SNMPv2-TC
    lumModules, lumIfEthMIB
        FROM LUM-REG
    SignalStatusWithNA, FaultStatusWithNA, MgmtNameString,
    OnOff, AutoNegotiationStatus, Unsigned32WithNA, FlowControlMode, RsFecMode, RsFecOnOff
        FROM LUM-TC;

lumIfEthMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201706150000Z" -- June 15th 2017
    ORGANIZATION
        "Infinera Corporation"
    CONTACT-INFO
        "techsupport@infinera.com"
    DESCRIPTION
        "This module describes the ethernet.

        The references refers to IEEE 802.3-2008 Part 3.

        The tables contained in this MIB are:

        (1) The General group contains some general attributes as time stamps
            and tables sizes.

        (2) The Physical group contains information and
            configuration for the eth physical layer.

        (3) The Mac group contains information and
        configuration for the eth mac layer.

"
    REVISION
        "201706150000Z" -- June 15th 2017
    DESCRIPTION
        "Changes made for release r29.0:
         - Changed ORGANIZATION and CONTACT-INFO"
    REVISION
        "201611300000Z" -- November 30th 2016
    DESCRIPTION
        "Changes made for release r28:
        - Added tp100gotnii board.
        - Added new table -RS-FEC."
    REVISION
        "201512220000Z" -- December 22nd 2015
    DESCRIPTION
        "Changes made for release r27:
        - Added fhau1 board
        - Added fha1u1 board"
    REVISION
        "201409300000Z" -- September 30th 2014
    DESCRIPTION
        "Changes made for release r23.1:
        - Added mxp100gotn board.
        - Added Rx/Tx HiBER attributes.
        - Removed tpmrHL16G board."
    REVISION
        "201405160000Z" -- May 16th 2014
    DESCRIPTION
        "Changes made for release r23:
        - Changed board name from tp10gotn to tphex10gotn.
        - Added tpmrHL16G board"
    REVISION
        "201311150000Z" -- November 15th 2013
    DESCRIPTION
        "Changes made for release r22:
        - Added tp10gotn, tp100gotn board."
    REVISION
        "201211200000Z" -- November 20th 2012
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 54 }


-- ----------------------------------------------------
-- Compliance area, containing groups and compliance
-- specifications.
-- ----------------------------------------------------

lumIfEthConfs OBJECT IDENTIFIER ::= { lumIfEthMIB 1 }
lumIfEthGroups OBJECT IDENTIFIER ::= { lumIfEthConfs 1 }
lumIfEthCompl OBJECT IDENTIFIER ::= { lumIfEthConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the IFETH MIB
-- ----------------------------------------------------

lumIfEthMIBObjects OBJECT IDENTIFIER ::= { lumIfEthMIB 2 }


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

ifEthGeneral OBJECT IDENTIFIER ::= { lumIfEthMIBObjects 1 }
ifEthPhysicalList OBJECT IDENTIFIER ::= { lumIfEthMIBObjects 2 }
ifEthMacList OBJECT IDENTIFIER ::= { lumIfEthMIBObjects 3 }
ifEthRsFecList OBJECT IDENTIFIER ::= { lumIfEthMIBObjects 4 }

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

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

"
    ::= { ifEthGeneral 1 }

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

"
    ::= { ifEthGeneral 2 }

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

"
    ::= { ifEthGeneral 3 }

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

"
    ::= { ifEthGeneral 4 }

ifEthGeneralIfEthPhysicalStateLastChangeTime OBJECT-TYPE
   SYNTAX      DateAndTime
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The time when the state and/or configuration of the
       table was last changed.

"
   ::= { ifEthGeneral 5 }

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

"
    ::= { ifEthGeneral 6 }

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

"
    ::= { ifEthGeneral 7 }

ifEthGeneralIfEthMacStateLastChangeTime OBJECT-TYPE
   SYNTAX      DateAndTime
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The time when the state and/or the configuration
       of the table was last changed.

"
   ::= { ifEthGeneral 8 }

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

"
    ::= { ifEthGeneral 9 }

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

"
    ::= { ifEthGeneral 10 }

ifEthGeneralIfEthRsFecStateLastChangeTime OBJECT-TYPE
   SYNTAX      DateAndTime
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The time when the state and/or the configuration
       of the table was last changed.

"
   ::= { ifEthGeneral 11 }

-- ----------------------------------------------------
-- ETH PHYSICAL group
-- ----------------------------------------------------

ifEthPhysicalTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF IfEthPhysicalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Physical group contains information and
         configuration for the eth physical layer."

    ::= { ifEthPhysicalList 1 }

ifEthPhysicalEntry OBJECT-TYPE
    SYNTAX      IfEthPhysicalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the ifEth physical list.

"
    INDEX { ifEthPhysicalIndex }
    ::= { ifEthPhysicalTable 1 }

IfEthPhysicalEntry ::=
    SEQUENCE {
        ifEthPhysicalIndex                      Unsigned32,
        ifEthPhysicalName                       MgmtNameString,
        ifEthPhysicalConnIfBasicIfIndex         Unsigned32WithNA,
        ifEthPhysicalAutoNegotiationMode        OnOff,
        ifEthPhysicalAutoNegotiationStatus		AutoNegotiationStatus,
        ifEthPhysicalRxUtilization              Unsigned32WithNA,
        ifEthPhysicalTxUtilization              Unsigned32WithNA,
        ifEthPhysicalTxSignalStatus             SignalStatusWithNA,
        ifEthPhysicalRxSignalStatus             SignalStatusWithNA,
        ifEthPhysicalRemoteLinkFault            FaultStatusWithNA,
        ifEthPhysicalLocalLinkFault             FaultStatusWithNA,
        ifEthPhysicalLinkDown                   FaultStatusWithNA,
        ifEthPhysicalHighBitErrorRate           FaultStatusWithNA,
        ifEthPhysicalPcsLossOfFrame             FaultStatusWithNA,
        ifEthPhysicalRxLocalLinkFault           FaultStatusWithNA,
        ifEthPhysicalTxLocalLinkFault           FaultStatusWithNA,
        ifEthPhysicalRxHighBitErrorRate         FaultStatusWithNA,
        ifEthPhysicalTxHighBitErrorRate         FaultStatusWithNA,
        ifEthPhysicalTxPcsLossOfFrame           FaultStatusWithNA,
        ifEthPhysicalUId                        Unsigned32,
        ifEthPhysicalRxPcsLossOfSync            FaultStatusWithNA,
        ifEthPhysicalTxPcsLossOfSync            FaultStatusWithNA }

ifEthPhysicalIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index assigned to each entry.

"
    ::= { ifEthPhysicalEntry 1 }

ifEthPhysicalName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the optical transmission section,
        for example 'physical:1:2:1-2', where the first number indicates
        subrack, the second slot number and the third/fourth
        are the physical port numbers.

"
    ::= { ifEthPhysicalEntry 2 }

ifEthPhysicalConnIfBasicIfIndex OBJECT-TYPE
    SYNTAX      Unsigned32WithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index that describes to which index in ifBasicIf table
        this object is related.

"
    ::= { ifEthPhysicalEntry 3 }

ifEthPhysicalAutoNegotiationMode   OBJECT-TYPE
    SYNTAX      OnOff
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION

        "The wanted auto negotiation mode.

        off - auto negotiation process is disabled

        on - auto negotiation process is enabled

        notApplicable (2147483647) is used when attribute is
        not used in current configuration.

"
    DEFVAL { on }
    ::= { ifEthPhysicalEntry 4 }

ifEthPhysicalAutoNegotiationStatus   OBJECT-TYPE
    SYNTAX      AutoNegotiationStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The result of the auto negotiation procedure

        incomplete - the result is still pending

        halfDuplex - half duplex

        fullDuplex - full duplex

        halfDuplexRxPauseOn - half duplex, Rx pause on

        halfDuplexTxPauseOn - half duplex, Tx pause on

        halfDuplexRxTxPauseOn - half duplex, Rx and Tx
        pause on

        fullDuplexRxPauseOn - full duplex, Rx pause on

        fullDuplexTxPauseOn - full duplex, Tx pause on

        fullDuplexRxTxPauseOn - full duplex, Rx and Tx
        pause on

        fullDuplexFec - full duplex, forwarding error
        correction

        fec - forwarding error correction

"
    ::= { ifEthPhysicalEntry 5 }

ifEthPhysicalRxUtilization OBJECT-TYPE
    SYNTAX      Unsigned32WithNA (0..1000 | 2147483646 | 2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Shows a snapshot of the current bandwidth
         utilization of the received ethernet signal during
         the last second.

"
    ::= { ifEthPhysicalEntry 6 }

ifEthPhysicalTxUtilization OBJECT-TYPE
    SYNTAX      Unsigned32WithNA (0..1000 | 2147483646 | 2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Shows a snapshot of the current bandwidth
         utilization of the received ethernet signal during
         the last second.

"
    ::= { ifEthPhysicalEntry 7 }

ifEthPhysicalTxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for outgoing (TX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { ifEthPhysicalEntry 8 }

ifEthPhysicalRxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for incoming (RX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { ifEthPhysicalEntry 9 }

ifEthPhysicalRemoteLinkFault OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Remote link fault (RLF).

        Reference: 1000Base-SX/LX: 37.2.1.5 RF1/RF2 IEEE 802.3ah

        alarm: Active remote link fault indication.

        ok: Inactive remote link fault indication.

"
    ::= { ifEthPhysicalEntry 10 }

ifEthPhysicalLocalLinkFault OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Local link fault (LLF).

        Reference: 49.2.4.5 => 46.3.4 (link_fault in 46.3.4.2) 49.2.13.3

        alarm: Active local link fault indication.

        ok: Inactive local link fault indication.

"
    ::= { ifEthPhysicalEntry 11 }

ifEthPhysicalLinkDown OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Link down.

        alarm: Failure to negotiate a connection with the
        other party.

        ok: A connection is negotiated.

"
    ::= { ifEthPhysicalEntry 12 }

ifEthPhysicalHighBitErrorRate OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "High bit error rate (Hi-Ber), BER > 10^(-4).

        Reference: 10GBase-R: 49.2.13.2.2 (hi_ber) IEEE 802.3ah

        alarm: Active high bit error rate.

        ok: Inactive high bit error rate.

"
    ::= { ifEthPhysicalEntry 13 }

ifEthPhysicalPcsLossOfFrame OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rx PCS Loss of frame (block-lock).

        Reference: 10GBase-R: 49.2.13.2.2

        alarm: Active high bit error rate.

        ok: Inactive high bit error rate.

"
    ::= { ifEthPhysicalEntry 14 }

ifEthPhysicalRxLocalLinkFault OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rx Local link fault (LLF).

        Reference: 49.2.4.5 => 46.3.4 (link_fault in 46.3.4.2) 49.2.13.3

        alarm: Active local link fault indication.

        ok: Inactive local link fault indication.

"
    ::= { ifEthPhysicalEntry 15 }

ifEthPhysicalTxLocalLinkFault OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Tx Local link fault (LLF).

        Reference: 49.2.4.5 => 46.3.4 (link_fault in 46.3.4.2) 49.2.13.3

        alarm: Active local link fault indication.

        ok: Inactive local link fault indication.

"
    ::= { ifEthPhysicalEntry 16 }

ifEthPhysicalRxHighBitErrorRate OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rx High bit error rate (Hi-Ber), BER > 10^(-4).

        Reference: 10GBase-R: 49.2.13.2.2 (hi_ber) IEEE 802.3ah

        alarm: Active high bit error rate.

        ok: Inactive high bit error rate.

"
    ::= { ifEthPhysicalEntry 17 }

ifEthPhysicalTxHighBitErrorRate OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Tx High bit error rate (Hi-Ber), BER > 10^(-4).

        Reference: 10GBase-R: 49.2.13.2.2 (hi_ber) IEEE 802.3ah

        alarm: Active high bit error rate.

        ok: Inactive high bit error rate.

"
    ::= { ifEthPhysicalEntry 18 }

ifEthPhysicalTxPcsLossOfFrame OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Tx PCS Loss of frame (block-lock).

        Reference: 10GBase-R: 49.2.13.2.2

        alarm: Active high bit error rate.

        ok: Inactive high bit error rate.

"
    ::= { ifEthPhysicalEntry 19 }


ifEthPhysicalUId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An unique identifier assigned to each entry.

"
    ::= { ifEthPhysicalEntry 20 }


ifEthPhysicalRxPcsLossOfSync OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "RX PCS Loss of sync.

        Reference: 1000Base-X: 36.2.5.2.6 IEEE 802.3

        alarm: GbE 'frame' can not be located.

        ok: GbE 'frame' is located.

"
    ::= { ifEthPhysicalEntry 21 }

ifEthPhysicalTxPcsLossOfSync OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "TX PCS Loss of sync.

        Reference: 1000Base-X: 36.2.5.2.6 IEEE 802.3

        alarm: GbE 'frame' can not be located.

        ok: GbE 'frame' is located.

"
    ::= { ifEthPhysicalEntry 22 }


-- ----------------------------------------------------
-- ETH MAC group
-- ----------------------------------------------------

ifEthMacTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF IfEthMacEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Mac group contains information and
	 configuration for the eth mac layer."

    ::= { ifEthMacList 1 }

ifEthMacEntry OBJECT-TYPE
    SYNTAX      IfEthMacEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the ifEth mac list.

"
    INDEX { ifEthMacIndex }
    ::= { ifEthMacTable 1 }

IfEthMacEntry ::=
    SEQUENCE {
        ifEthMacIndex                       Unsigned32,
        ifEthMacName                        MgmtNameString,
        ifEthMacConnIfBasicIfIndex          Unsigned32WithNA,
        ifEthMacRxUtilization               Unsigned32WithNA,
        ifEthMacTxUtilization               Unsigned32WithNA,
        ifEthMacMaxMtuSize                  Unsigned32WithNA,
        ifEthMacInterPacketGap              Unsigned32WithNA,
        ifEthMacFlowControlMode             FlowControlMode,
        ifEthMacTxSignalStatus              SignalStatusWithNA,
        ifEthMacRxSignalStatus              SignalStatusWithNA }

ifEthMacIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index assigned to each entry.

"
    ::= { ifEthMacEntry 1 }

ifEthMacName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the optical transmission section,
        for example 'mac:1:2:1-2', where the first number indicates
        subrack, the second slot number and the third/fourth
        are the physical port numbers.

"
    ::= { ifEthMacEntry 2 }

ifEthMacConnIfBasicIfIndex OBJECT-TYPE
    SYNTAX      Unsigned32WithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index that describes to which index in ifBasicIf table
        this object is related.

"
    ::= { ifEthMacEntry 3 }

ifEthMacRxUtilization OBJECT-TYPE
    SYNTAX      Unsigned32WithNA (0..1000 | 2147483646 | 2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Shows a snapshot of the current bandwidth
         utilization of the received ethernet signal during
         the last second.

"
    ::= { ifEthMacEntry 4 }

ifEthMacTxUtilization OBJECT-TYPE
    SYNTAX      Unsigned32WithNA (0..1000 | 2147483646 | 2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Shows a snapshot of the current bandwidth
         utilization of the transmitted ethernet signal during
         the last second.

"
    ::= { ifEthMacEntry 5 }

ifEthMacMaxMtuSize OBJECT-TYPE
    SYNTAX      Unsigned32WithNA (1518..9600 | 2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum size of the transmitted and
        received frames (in bytes).

"
    DEFVAL { 9600 }
    ::= { ifEthMacEntry 6 }

ifEthMacInterPacketGap OBJECT-TYPE
    SYNTAX      Unsigned32WithNA (64..456 | 2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Time between the frames in nano seconds.

        Legal values are 64, 72, 80, ... 200, 320, 328,
        336, ... 456

"
    DEFVAL { 96 }
    ::= { ifEthMacEntry 7 }

ifEthMacFlowControlMode OBJECT-TYPE
    SYNTAX      FlowControlMode
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The mode for handling flow control between
         the local device and link partner.

         The PAUSE settings has the following meaning
         when auto-negotiation is enabled.

         Setting    802.3 equivalent
         -------    ----------------

         noPause    No PAUSE.

         txPause    Asymmetric PAUSE toward link partner
                    (send only).

         bothPause  Symmetric PAUSE (send and receive).

         rxPause    Both symmetric PAUSE and asymmetric
                    PAUSE toward local device (send
                    and/or receive).


         The PAUSE settings has the following meaning
         when auto-negotiation is disabled.

         Setting    Result
         -------    ------

         noPause    PAUSE frame reception and transmission
                    is disabled.

         txPause    PAUSE frame transmission is enabled.

         bothPause  PAUSE frame reception and transmission
                    is enabled.

         rxPause    PAUSE frame reception is enabled.

"
    DEFVAL { noPause }
    ::= { ifEthMacEntry 8 }

ifEthMacTxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for outgoing (TX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { ifEthMacEntry 9 }

ifEthMacRxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for incoming (RX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

        notApplicable (2147483647) - Attribute is not
        used in current configuration.

"
    ::= { ifEthMacEntry 10 }

-- ----------------------------------------------------
-- ETH RS-FEC group
-- ----------------------------------------------------

ifEthRsFecTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF IfEthRsFecEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The RS-FEC group contains information and
         configuration for the eth-rsFec error correction."

    ::= { ifEthRsFecList 1 }

ifEthRsFecEntry OBJECT-TYPE
    SYNTAX      IfEthRsFecEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the ifEth RS-Fec list.

"
    INDEX { ifEthRsFecIndex }
    ::= { ifEthRsFecTable 1 }

IfEthRsFecEntry ::=
    SEQUENCE {
        ifEthRsFecIndex                    Unsigned32,
        ifEthRsFecName                     MgmtNameString,
        ifEthRsFecConnIfBasicIfIndex       Unsigned32WithNA,
        ifEthRsFecTxSignalStatus           SignalStatusWithNA,
        ifEthRsFecRxSignalStatus           SignalStatusWithNA,
        ifEthRsFecMode                     RsFecMode,
        ifEthRsFecActualRsFec              RsFecOnOff,
        ifEthRsFecLanesAlignmentError      FaultStatusWithNA}

ifEthRsFecIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index assigned to each entry.

"
    ::= { ifEthRsFecEntry 1 }

ifEthRsFecName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The management name of the RS-FEC object,
        for example 'clientRsFec:1:2:1-2', where the first number
        indicates subrack, the second slot number and the
        third/fourth are the physical port numbers.

"
    ::= { ifEthRsFecEntry 2 }

ifEthRsFecConnIfBasicIfIndex OBJECT-TYPE
    SYNTAX      Unsigned32WithNA
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "An index describing to which index in ifBasicIf table
        this object is related to.

"
    ::= { ifEthRsFecEntry 3 }

ifEthRsFecTxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for outgoing (TX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { ifEthRsFecEntry 4 }

ifEthRsFecRxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for incoming (RX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { ifEthRsFecEntry 5 }

ifEthRsFecMode OBJECT-TYPE
    SYNTAX      RsFecMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Set RS-FEC mode.

         auto        -  RS-FEC automatically enabled or disabled, according to detected transceiver type.

         forced on   -  RS-FEC always enabled, regardless of the inserted transceiver type.

         forced off  -  RS-FEC always disabled, regardless of the inserted transceiver type.

         Default  auto

"
    DEFVAL { auto }
    ::= { ifEthRsFecEntry 6 }

ifEthRsFecActualRsFec OBJECT-TYPE
    SYNTAX      RsFecOnOff
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The actual RS-FEC configuration.

         off       - RS-FEC is disabled for inserted transceiver type.
         on        - RS-FEC is enabled for inserted transceiver type.
         undefined - not possible to read attribute at the moment, no transceiver is detected.

"
    DEFVAL { undefined }
    ::= { ifEthRsFecEntry 7 }

ifEthRsFecLanesAlignmentError OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "FEC-lanes alignment error.

        FEC-lanes alignment marker does not contain valid lane identification
        bytes to identify the lanes as they are received.

        Reference: IEEE 802.3/91.5.3

        alarm: FEC-lanes have errors or defects.

           ok: FEC-lanes alignment marker mapping and lanes reorder is ok.


"
    ::= { ifEthRsFecEntry 8 }

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


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

ifEthGeneralGroupV1 OBJECT-GROUP
    OBJECTS {
        ifEthGeneralConfigLastChangeTime,
        ifEthGeneralStateLastChangeTime,
        ifEthGeneralIfEthPhysicalTableSize,
        ifEthGeneralIfEthPhysicalConfigLastChangeTime,
        ifEthGeneralIfEthPhysicalStateLastChangeTime,
        ifEthGeneralIfEthMacTableSize,
        ifEthGeneralIfEthMacConfigLastChangeTime,
        ifEthGeneralIfEthMacStateLastChangeTime }

    STATUS      deprecated
    DESCRIPTION
        "The general objects."
    ::= { lumIfEthGroups 1 }

ifEthPhysicalGroupV1 OBJECT-GROUP
    OBJECTS {
        ifEthPhysicalIndex,
        ifEthPhysicalName,
        ifEthPhysicalConnIfBasicIfIndex,
        ifEthPhysicalAutoNegotiationMode,
        ifEthPhysicalAutoNegotiationStatus,
        ifEthPhysicalRxUtilization,
        ifEthPhysicalTxUtilization,
        ifEthPhysicalTxSignalStatus,
        ifEthPhysicalRxSignalStatus,
        ifEthPhysicalRemoteLinkFault,
        ifEthPhysicalLocalLinkFault,
        ifEthPhysicalLinkDown,
        ifEthPhysicalHighBitErrorRate,
        ifEthPhysicalPcsLossOfFrame }

    STATUS      deprecated
    DESCRIPTION
        "The ifEth PHYSICAL objects (R20.0)."
    ::= { lumIfEthGroups 2 }

ifEthMacGroupV1 OBJECT-GROUP
    OBJECTS {
        ifEthMacIndex,
        ifEthMacName,
        ifEthMacConnIfBasicIfIndex,
        ifEthMacRxUtilization,
        ifEthMacTxUtilization,
        ifEthMacMaxMtuSize,
        ifEthMacInterPacketGap,
        ifEthMacFlowControlMode,
        ifEthMacTxSignalStatus,
        ifEthMacRxSignalStatus }

    STATUS      current
    DESCRIPTION
        "The ifEth MAC objects (R20.0)."
    ::= { lumIfEthGroups 3 }

ifEthPhysicalGroupV2 OBJECT-GROUP
    OBJECTS {
        ifEthPhysicalIndex,
        ifEthPhysicalName,
        ifEthPhysicalConnIfBasicIfIndex,
        ifEthPhysicalAutoNegotiationMode,
        ifEthPhysicalAutoNegotiationStatus,
        ifEthPhysicalRxUtilization,
        ifEthPhysicalTxUtilization,
        ifEthPhysicalTxSignalStatus,
        ifEthPhysicalRxSignalStatus,
        ifEthPhysicalRemoteLinkFault,
        ifEthPhysicalLocalLinkFault,
        ifEthPhysicalLinkDown,
        ifEthPhysicalHighBitErrorRate,
        ifEthPhysicalPcsLossOfFrame,
        ifEthPhysicalRxLocalLinkFault,
        ifEthPhysicalTxLocalLinkFault  }

    STATUS      deprecated
    DESCRIPTION
        "The ifEth PHYSICAL objects (R20.0)."
    ::= { lumIfEthGroups 4 }

ifEthPhysicalGroupV3 OBJECT-GROUP
    OBJECTS {
        ifEthPhysicalIndex,
        ifEthPhysicalName,
        ifEthPhysicalConnIfBasicIfIndex,
        ifEthPhysicalAutoNegotiationMode,
        ifEthPhysicalAutoNegotiationStatus,
        ifEthPhysicalRxUtilization,
        ifEthPhysicalTxUtilization,
        ifEthPhysicalTxSignalStatus,
        ifEthPhysicalRxSignalStatus,
        ifEthPhysicalRemoteLinkFault,
        ifEthPhysicalLocalLinkFault,
        ifEthPhysicalLinkDown,
        ifEthPhysicalHighBitErrorRate,
        ifEthPhysicalPcsLossOfFrame,
        ifEthPhysicalRxLocalLinkFault,
        ifEthPhysicalTxLocalLinkFault,
        ifEthPhysicalRxHighBitErrorRate,
        ifEthPhysicalTxHighBitErrorRate }

    STATUS      deprecated
    DESCRIPTION
        "The ifEth PHYSICAL objects (R23.1)."
    ::= { lumIfEthGroups 5 }


ifEthPhysicalGroupV4 OBJECT-GROUP
    OBJECTS {
        ifEthPhysicalIndex,
        ifEthPhysicalName,
        ifEthPhysicalConnIfBasicIfIndex,
        ifEthPhysicalAutoNegotiationMode,
        ifEthPhysicalAutoNegotiationStatus,
        ifEthPhysicalRxUtilization,
        ifEthPhysicalTxUtilization,
        ifEthPhysicalTxSignalStatus,
        ifEthPhysicalRxSignalStatus,
        ifEthPhysicalRemoteLinkFault,
        ifEthPhysicalLocalLinkFault,
        ifEthPhysicalLinkDown,
        ifEthPhysicalHighBitErrorRate,
        ifEthPhysicalPcsLossOfFrame,
        ifEthPhysicalRxLocalLinkFault,
        ifEthPhysicalTxLocalLinkFault,
        ifEthPhysicalRxHighBitErrorRate,
        ifEthPhysicalTxHighBitErrorRate,
        ifEthPhysicalTxPcsLossOfFrame  }

    STATUS      deprecated
    DESCRIPTION
        "The ifEth PHYSICAL objects (R24)."
    ::= { lumIfEthGroups 6 }


ifEthPhysicalGroupV5 OBJECT-GROUP
    OBJECTS {
        ifEthPhysicalIndex,
        ifEthPhysicalName,
        ifEthPhysicalConnIfBasicIfIndex,
        ifEthPhysicalAutoNegotiationMode,
        ifEthPhysicalAutoNegotiationStatus,
        ifEthPhysicalRxUtilization,
        ifEthPhysicalTxUtilization,
        ifEthPhysicalTxSignalStatus,
        ifEthPhysicalRxSignalStatus,
        ifEthPhysicalRemoteLinkFault,
        ifEthPhysicalLocalLinkFault,
        ifEthPhysicalLinkDown,
        ifEthPhysicalHighBitErrorRate,
        ifEthPhysicalPcsLossOfFrame,
        ifEthPhysicalRxLocalLinkFault,
        ifEthPhysicalTxLocalLinkFault,
        ifEthPhysicalRxHighBitErrorRate,
        ifEthPhysicalTxHighBitErrorRate,
        ifEthPhysicalTxPcsLossOfFrame,
        ifEthPhysicalUId,
        ifEthPhysicalRxPcsLossOfSync,
        ifEthPhysicalTxPcsLossOfSync  }

    STATUS      current
    DESCRIPTION
        "The ifEth PHYSICAL objects (R27.1)."
    ::= { lumIfEthGroups 7 }

ifEthRsFecGroupV1 OBJECT-GROUP
    OBJECTS {
        ifEthRsFecIndex,
        ifEthRsFecName,
        ifEthRsFecConnIfBasicIfIndex,
        ifEthRsFecTxSignalStatus,
        ifEthRsFecRxSignalStatus,
        ifEthRsFecMode,
        ifEthRsFecActualRsFec,
        ifEthRsFecLanesAlignmentError}

    STATUS      current
    DESCRIPTION
        "The ifEth RS-FEC objects (R28.0)."
    ::= { lumIfEthGroups 8 }

ifEthGeneralGroupV2 OBJECT-GROUP
    OBJECTS {
        ifEthGeneralConfigLastChangeTime,
        ifEthGeneralStateLastChangeTime,
        ifEthGeneralIfEthPhysicalTableSize,
        ifEthGeneralIfEthPhysicalConfigLastChangeTime,
        ifEthGeneralIfEthPhysicalStateLastChangeTime,
        ifEthGeneralIfEthMacTableSize,
        ifEthGeneralIfEthMacConfigLastChangeTime,
        ifEthGeneralIfEthMacStateLastChangeTime,
        ifEthGeneralIfEthRsFecTableSize,
        ifEthGeneralIfEthRsFecConfigLastChangeTime,
        ifEthGeneralIfEthRsFecStateLastChangeTime}

    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumIfEthGroups 9 }

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

lumIfEthComplV1 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the ifEth MIB. (R20.0)"
    MODULE
        MANDATORY-GROUPS {
            ifEthGeneralGroupV1,
            ifEthPhysicalGroupV1,
            ifEthMacGroupV1 }
    ::= { lumIfEthCompl 1 }

lumIfEthComplV2 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the ifEth MIB. (R20.0)"
    MODULE
        MANDATORY-GROUPS {
            ifEthGeneralGroupV1,
            ifEthPhysicalGroupV2,
            ifEthMacGroupV1 }
    ::= { lumIfEthCompl 2 }

lumIfEthComplV3 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the ifEth MIB. (R23.1)"
    MODULE
        MANDATORY-GROUPS {
            ifEthGeneralGroupV1,
            ifEthPhysicalGroupV3,
            ifEthMacGroupV1 }
    ::= { lumIfEthCompl 3 }

lumIfEthComplV4 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the ifEth MIB. (R24)"
    MODULE
        MANDATORY-GROUPS {
            ifEthGeneralGroupV1,
            ifEthPhysicalGroupV4,
            ifEthMacGroupV1 }
    ::= { lumIfEthCompl 4 }

lumIfEthComplV5 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the ifEth MIB. (R27.1)"
    MODULE
        MANDATORY-GROUPS {
            ifEthGeneralGroupV1,
            ifEthPhysicalGroupV5,
            ifEthMacGroupV1 }
    ::= { lumIfEthCompl 5 }

lumIfEthComplV6 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the ifEth MIB. (R27.1)"
    MODULE
        MANDATORY-GROUPS {
            ifEthGeneralGroupV1,
            ifEthPhysicalGroupV5,
            ifEthMacGroupV1,
            ifEthRsFecGroupV1 }
    ::= { lumIfEthCompl 6 }

lumIfEthComplV7 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the ifEth MIB. (R28.0)"
    MODULE
        MANDATORY-GROUPS {
            ifEthGeneralGroupV2,
            ifEthPhysicalGroupV5,
            ifEthMacGroupV1,
            ifEthRsFecGroupV1 }
    ::= { lumIfEthCompl 7 }

END

