ELTEX-MES-ISS-INTERFACES-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32
                FROM SNMPv2-SMI
        OBJECT-GROUP
                FROM SNMPv2-CONF
        RowStatus, TEXTUAL-CONVENTION, TruthValue
                FROM SNMPv2-TC
        eltMesIss
                FROM ELTEX-MES-ISS-MIB
        issPortCtrlEntry
                FROM ARICENT-ISS-MIB;

eltMesIssInterfacesMIB MODULE-IDENTITY
        LAST-UPDATED "202210190000Z"
        ORGANIZATION "Eltex Enterprise, Ltd."
        CONTACT-INFO
                "eltex-co.ru"
        DESCRIPTION
                "MIB extensions for switch interfaces."
        REVISION "202210190000Z"
        DESCRIPTION "Changed eltMesIssPortCtrlTable."
        REVISION "202103290000Z"
        DESCRIPTION "Changed EltMesIssPortCtrlAutoNegBits description."
        REVISION "202101190000Z"
        DESCRIPTION "Added default interface global variable"
        REVISION "201812190000Z"
        DESCRIPTION "Initial revision."
    ::= { eltMesIss 4 }

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

EltMesIssPortCtrlAutoNegBits ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Auto negotiation capabilities bits."
    SYNTAX      BITS {
        default(0),
        unknown(1),
        half10M(2),
        full10M(3),
        half100M(4),
        full100M(5),
        full1G(7)
    }

-- -------------------------------------------------------------------------- --
-- Top level MIB structure
-- -------------------------------------------------------------------------- --

    eltMesIssInterfacesObjects  OBJECT IDENTIFIER ::= { eltMesIssInterfacesMIB 1 }

-- -------------------------------------------------------------------------- --
-- MIB Groups
-- -------------------------------------------------------------------------- --

    eltMesIssInterfacesGlobals  OBJECT IDENTIFIER ::= { eltMesIssInterfacesObjects 1 }
    eltMesIssInterfacesConfig   OBJECT IDENTIFIER ::= { eltMesIssInterfacesObjects 2 }

-- -------------------------------------------------------------------------- --
-- Low level MIB structure
-- -------------------------------------------------------------------------- --

-- -------------------------------------------------------------------------- --
-- Global variables
-- -------------------------------------------------------------------------- --

eltMesIssDefaultInterface OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Writing the index of an interface to this variable will restore
         all settings on this interface to their default values.
         Upon completion, the value of this scalar will reset to zero."
    ::= { eltMesIssInterfacesGlobals 1 }

-- -------------------------------------------------------------------------- --
-- Port control table
-- -------------------------------------------------------------------------- --

eltMesIssPortCtrlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltMesIssPortCtrlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table augments the issPortCtrlTable table."
    ::= { eltMesIssInterfacesConfig 1 }

eltMesIssPortCtrlEntry OBJECT-TYPE
    SYNTAX      EltMesIssPortCtrlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry in this table is an interface in the system such as
         physical port or port-channel."
    AUGMENTS { issPortCtrlEntry }
    ::= { eltMesIssPortCtrlTable 1 }

EltMesIssPortCtrlEntry ::=
    SEQUENCE {
        eltMesIssPortCtrlAdminComboMode         INTEGER,
        eltMesIssPortCtrlOperComboMode          INTEGER,
        eltMesIssPortCtrlAutoNegAdminLocal      EltMesIssPortCtrlAutoNegBits,
        eltMesIssPortCtrlAutoNegOperLocal       EltMesIssPortCtrlAutoNegBits,
        eltMesIssPortCtrlTransceiverType        INTEGER,
        eltMesIssPortCtrlType                   INTEGER
    }

eltMesIssPortCtrlAdminComboMode OBJECT-TYPE
    SYNTAX      INTEGER {
        force-fiber(1),
        force-copper(2),
        prefer-fiber(3),
        prefer-copper(4)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This variable specifies the administrative mode of
         a combo Ethernet interface."
    DEFVAL { 3 }
    ::= { eltMesIssPortCtrlEntry 1 }

eltMesIssPortCtrlOperComboMode  OBJECT-TYPE
    SYNTAX      INTEGER {
        fiber(1),
        copper(2),
        unknown(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This variable specifies the operative mode of
         a combo Ethernet interface."
    ::= { eltMesIssPortCtrlEntry 2 }

eltMesIssPortCtrlAutoNegAdminLocal OBJECT-TYPE
    SYNTAX      EltMesIssPortCtrlAutoNegBits
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Administrative auto negotiation capabilities of the interface that
         can be advertised when auto negotiation is enabled.
         Default bit means advertise all the port's capabilities
         according to its type."
    DEFVAL { default }
    ::= { eltMesIssPortCtrlEntry 3 }

eltMesIssPortCtrlAutoNegOperLocal OBJECT-TYPE
    SYNTAX EltMesIssPortCtrlAutoNegBits
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Operative auto negotiation capabilities of the remote link.
         unknown bit means that port operative status is not up."
    ::= { eltMesIssPortCtrlEntry 4 }

eltMesIssPortCtrlTransceiverType OBJECT-TYPE
    SYNTAX      INTEGER {
        copper(1),
        fiberOptics(2),
        combo(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This variable indicates the transceiver type of this interface."
    ::= { eltMesIssPortCtrlEntry 5 }

eltMesIssPortCtrlType OBJECT-TYPE
    SYNTAX      INTEGER {
        eth10M(1),
        eth100M(2),
        eth1000M(3),
        eth2500M(4),
        eth5G(5),
        eth10G(6),
        eth20G(7),
        eth40G(8),
        eth100G(9),
        unknown(10)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This variable specifies the type of interface."
    ::= { eltMesIssPortCtrlEntry 6 }

-- -------------------------------------------------------------------------- --
-- Serdes Rx params configuration table
-- -------------------------------------------------------------------------- --

eltMesIssHardwareSerdesRxConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltMesIssHardwareSerdesRxConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Serdes Rx parameters configuration."
    ::= { eltMesIssInterfacesConfig 2 }

eltMesIssHardwareSerdesRxConfigEntry OBJECT-TYPE
    SYNTAX      EltMesIssHardwareSerdesRxConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Defines the contents of each line in the eltHardwareSerdesRxConfigTable
         table."
    INDEX {
        eltMesIssHardwareSerdesRxConfigIfIndex,
        eltMesIssHardwareSerdesRxConfigLaneNumber
    }
    ::= { eltMesIssHardwareSerdesRxConfigTable 1 }

EltMesIssHardwareSerdesRxConfigEntry ::=
    SEQUENCE {
        eltMesIssHardwareSerdesRxConfigIfIndex                  INTEGER,
        eltMesIssHardwareSerdesRxConfigLaneNumber               INTEGER,
        eltMesIssHardwareSerdesRxConfigUserParamsEnable         TruthValue,
        eltMesIssHardwareSerdesRxConfigLeq                      INTEGER
    }

eltMesIssHardwareSerdesRxConfigIfIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Interface Index."
    ::= { eltMesIssHardwareSerdesRxConfigEntry 1 }

eltMesIssHardwareSerdesRxConfigLaneNumber OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Lane number. Currently only line number 1 is used."
    ::= { eltMesIssHardwareSerdesRxConfigEntry 2 }

eltMesIssHardwareSerdesRxConfigUserParamsEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable user configured parameters to port SerDes."
    DEFVAL { false }
    ::= { eltMesIssHardwareSerdesRxConfigEntry 3 }

eltMesIssHardwareSerdesRxConfigLeq OBJECT-TYPE
    SYNTAX      INTEGER (0..31)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "LEQ configuration."
    DEFVAL { 0 }
    ::= { eltMesIssHardwareSerdesRxConfigEntry 4 }

END
