-- Descriptions of managed objects for ELTEX IEEE 802.ag CFM MIB.
--
-- March 2013, Babintsev
--
-- Copyright (c) 2012-2013 by Eltex Ent.
-- All rights reserved.
-- *****************************************************************
-- --------------------------------------------------------------
-- Eltex CFM MIB
-- --------------------------------------------------------------
--
-- This MIB is an addendum to the standard IEEE8021-CFM-MIB.


ELTEX-CFM-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY,
	OBJECT-TYPE,
	NOTIFICATION-TYPE,
	Integer32, Counter32,
	Unsigned32               FROM SNMPv2-SMI    -- [RFC2578]
	TEXTUAL-CONVENTION,
	TimeInterval,
	TimeStamp, RowStatus,
	TruthValue, MacAddress,
	TDomain, TAddress        FROM SNMPv2-TC     -- [RFC2579]
	eltexLtd                 FROM ELTEX-SMI-ACTUAL
	MODULE-COMPLIANCE,
	OBJECT-GROUP,
	NOTIFICATION-GROUP       FROM SNMPv2-CONF   -- [RFC2580]
	InterfaceIndex,
	InterfaceIndexOrZero     FROM IF-MIB        -- [RFC2863]
	VlanIdOrNone, VlanId     FROM Q-BRIDGE-MIB  -- [RFC4363]
	Dot1agCfmMpDirection     FROM IEEE8021-CFM-MIB
	;

eltexCfmMIB   MODULE-IDENTITY
	LAST-UPDATED "201809070000Z"    -- 07/09/2018 00:00GMT
	ORGANIZATION "Eltex, Ent."
	CONTACT-INFO
					"www.eltex.nsk.ru"
	DESCRIPTION
		"Connectivity Fault Management module for managing Eltex devices"

    REVISION       "201809070000Z"    -- 07/09/2018 00:00GMT
    DESCRIPTION
        "Added eltexCfmEfdTable."
	REVISION       "201303190000Z"    -- 19/03/2013 00:00GMT
	DESCRIPTION
	"Initial version."
		::= { eltexLtd 36 }


eltexCfmNotifications      OBJECT IDENTIFIER ::= { eltexCfmMIB 0 }
eltexCfmMIBObjects         OBJECT IDENTIFIER ::= { eltexCfmMIB 1 }
eltexCfmConformance        OBJECT IDENTIFIER ::= { eltexCfmMIB 2 }

-- ******************************************************************
-- Groups in the CFM MIB Module
-- ******************************************************************
eltexCfmMd                 OBJECT IDENTIFIER ::= { eltexCfmMIBObjects 1 }
eltexCfmMa                 OBJECT IDENTIFIER ::= { eltexCfmMIBObjects 2 }
eltexCfmEfd                OBJECT IDENTIFIER ::= { eltexCfmMIBObjects 3 }

-- ******************************************************************
-- Textual conventions
-- ******************************************************************

EtherFaultDetectionService ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "The target service for CFM notifications." 
    SYNTAX      INTEGER {
                  erps     (1)
                }

-- ******************************************************************
-- The Maintenance Domain Table
-- ******************************************************************

eltexCfmMdTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltexCfmMdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain table. Each row in the table
        represents a physical maintanance domain that corresponds
        user-like domain name.
        "
    ::= { eltexCfmMd 1 }

eltexCfmMdEntry OBJECT-TYPE
    SYNTAX      EltexCfmMdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Domain table entry. This entry is not lost
        upon reboot. It is backed up by stable storage.
       "
    INDEX {eltexCfmMdName }
    ::= { eltexCfmMdTable 1 }

EltexCfmMdEntry ::= SEQUENCE {
      eltexCfmMdName                 OCTET STRING,
      eltexCfmMdIndex                Unsigned32,
      eltexCfmMdRowStatus            RowStatus
    }

eltexCfmMdName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The user-like name of Maintenance Domain.
       "
    ::= { eltexCfmMdEntry 1 }

eltexCfmMdIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The index to the Maintenance Domain table dot1agCfmMdTable
       (IEEE8021-CFM-MIB).
       "
    ::= { eltexCfmMdEntry 2 }

eltexCfmMdRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns MUST have a valid value before a row
        can be activated.
       "
    ::= { eltexCfmMdEntry 3 }

-- ******************************************************************
-- The Maintenance Association (MA) Table
-- ******************************************************************

eltexCfmMaTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltexCfmMaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The Maintenance Association table. This is the part of the complete
        MA table from IEEE8021-CFM-MIB. It implements
        restrictions in IEEE 802.1ag-2007 22.2.2 upon creating MEPS.
        Each row in the table represents an MA.  An MA is a set of MEPs,
        each configured with a single service instance.

        This table uses two indices, first index is the index of the
        Maintenance Domain table.  The second index is the same as the
        index of the dot1agCfmMaCompEntry for the same MA.

        The writable objects in this table need to be persistent
        upon reboot or restart of a device.

       "
    REFERENCE
       "22.2.2"
    ::= { eltexCfmMa 1 }

eltexCfmMaEntry OBJECT-TYPE
    SYNTAX      EltexCfmMaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The MA table entry."
    INDEX {eltexCfmMdIndex, eltexCfmMaIndex }
    ::= { eltexCfmMaTable 1 }

EltexCfmMaEntry ::= SEQUENCE {
      eltexCfmMaIndex                Unsigned32,
      eltexCfmMaDirection            Dot1agCfmMpDirection,
      eltexCfmMaRowStatus            RowStatus
    }

eltexCfmMaIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Index of the MA table.
       "
    ::= { eltexCfmMaEntry 1 }

eltexCfmMaDirection OBJECT-TYPE
    SYNTAX      Dot1agCfmMpDirection
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Direction in which the all the MPs in current MA face on the Bridge Port.
       "
    ::= { eltexCfmMaEntry 2 }

eltexCfmMaRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row can not be changed if the row
        is active. All columns MUST have a valid value before a row
        can be activated.
       "
    ::= { eltexCfmMaEntry 3 }

-- ******************************************************************
-- The Ethernet Fault Detection (EFD) Table
-- ******************************************************************

eltexCfmEfdTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltexCfmEfdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Ethernet Fault Detection table." 
    ::= { eltexCfmEfd 1 }

eltexCfmEfdEntry OBJECT-TYPE
    SYNTAX      EltexCfmEfdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The CfmEfd table entry." 
    INDEX {eltexCfmMdIndex, eltexCfmMaIndex, eltexCfmEfdTargetService }
    ::= { eltexCfmEfdTable 1 }

EltexCfmEfdEntry ::= SEQUENCE {
      eltexCfmEfdTargetService       EtherFaultDetectionService,
      eltexCfmEfdEnable              TruthValue
    }

eltexCfmEfdTargetService OBJECT-TYPE
    SYNTAX      EtherFaultDetectionService
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The target service for CFM notifications.
       "
    ::= { eltexCfmEfdEntry 1 }
    
eltexCfmEfdEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DEFVAL      { false }
    DESCRIPTION
       "Enable or disable sending notifications from CFM to the target service.
       " 
    ::= { eltexCfmEfdEntry 2 }
    
END
