-- ======================================================================= -- File : oaprtlin.mib -- Description : Private MIB for Port Link Reflection (LIN) parameters -- By : Alex & Yakov -- Version : 0.2 -- Date : -- ======================================================================= -- Copyright (c) 2007 MRV. All Rights Reserved. -- -- -- Reproduction of this document is authorized on condition that this -- copyright notice is included. This MRV SNMP MIB Specification -- embodies MRV's proprietary intellectual property. MRV -- retains all title and ownership in the specification, including any -- revisions. -- -- It is MRV's intent to encourage the widespread use of this -- specification in connection with the management of MRV's -- products. MRV grants vendor, end-users, and other interested -- parties a non-exclusive license to use this specification in -- connection with the management of MRV's products. -- -- This specification is supplied "AS IS," and MRV makes no -- warranty, either express or implied, as to the use, operation, -- condition, or performance of the specification. -- -- Copyright text courtesy of MRV -- -- If you have any questions about this MIB, please call MRV -- Technical Support Center at 1-800-858-7815 from inside USA or -- 1-818-773-0900 from outside USA. -- -- -- MRV retains the right to change this MIB without notification. OA-PORT-LIN-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, enterprises, Integer32, Unsigned32 FROM SNMPv2-SMI -- RFC2578 DisplayString FROM SNMPv2-TC nbSwitchG1Il FROM OS-COMMON-TC-MIB NOTIFICATION-GROUP, OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF; -- RFC2580 nbPortLinkReflection MODULE-IDENTITY LAST-UPDATED "201103160000Z" -- Nov 02, 2010 ORGANIZATION "MRV Communications, Inc." CONTACT-INFO "Edna Ganon MRV Communication, Inc http://www.mrv.com Email: eganon@mrv.com Inna Levin MRV Communication, Inc http://www.mrv.com Email: ilevin@mrv.com Yakov Vaisman MRV Communication, Inc http://www.mrv.com Email: yvaisman@mrv.com " DESCRIPTION "Supports information about Port Link Reflection (LIN)." -- Revision history REVISION "201103160000Z" -- Mar 16, 2011 DESCRIPTION "Revision 0.4: Object oaPortLinAgRMepStatus description is fixed. " REVISION "201011020000Z" -- Nov 02, 2010 DESCRIPTION "Revision 0.3: 1. Object oaPortLinLastError is added. 2. Object oaPortLinAgDomainId type is fixed. " REVISION "200712110000Z" -- Dec 11, 2007 DESCRIPTION "Revision 0.2: MIB Objects [oaPortLinAgTable], [oaPortLinAgSupport], [oaPortLinActionCause] [oaPortLinStateUp] and [oaPortLinStateDown] Traps declarations added." REVISION "200708020000Z" -- Aug 2, 2007 DESCRIPTION "Revision 0.1: Initial edition." ::= { nbPortParams 11 } -- ************************************************************ -- MRV Object Identifier Definition -- ************************************************************ -- GROUPS for Port Configuration Parameters nbPortParams OBJECT IDENTIFIER ::= { nbSwitchG1Il 10 } oaPortLinNotifications OBJECT IDENTIFIER ::= { nbPortLinkReflection 0 } oaPortLinGen OBJECT IDENTIFIER ::= { nbPortLinkReflection 1 } oaPortLinGrp OBJECT IDENTIFIER ::= { nbPortLinkReflection 2 } oaPortLinConformance OBJECT IDENTIFIER ::= { nbPortLinkReflection 101 } -- ************************************************************************ -- Objects for Port Link Reflection (LIN) General group -- ************************************************************************ oaPortLinGenSupport OBJECT-TYPE SYNTAX INTEGER { notSupported (1), supported (2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Port Link Reflection (LIN) feature support." ::= { oaPortLinGen 1 } oaPortLinAgSupport OBJECT-TYPE SYNTAX INTEGER { notSupported (1), supported (2) } MAX-ACCESS read-only STATUS current DESCRIPTION "LIN may use the IEEE 802.1ag." ::= { oaPortLinGen 2 } oaPortLinLastError OBJECT-TYPE SYNTAX DisplayString (SIZE (2..160)) MAX-ACCESS read-only STATUS current DESCRIPTION "Last configuration error description." ::= { oaPortLinGen 3 } -- ************************************************************ -- Objects in the Port Link Reflection (LIN) Table -- ************************************************************ oaPortLinTable OBJECT-TYPE SYNTAX SEQUENCE OF OaPortLinEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table configures Port Link Reflection (LIN). Each LIN describes the bind between the Uplink (Master) Port and the Group of Downlink (Slave) Ports. " ::= { oaPortLinGrp 1 } oaPortLinEntry OBJECT-TYPE SYNTAX OaPortLinEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Port Link Reflection (LIN) table entry." INDEX { oaPortLinId } ::= { oaPortLinTable 1 } OaPortLinEntry ::= SEQUENCE { oaPortLinId Integer32, oaPortLinOperStatus INTEGER, oaPortLinAdminStatus INTEGER, oaPortLinSlavePorts OCTET STRING, oaPortLinSymmetricStatus INTEGER, oaPortLinActionCause INTEGER } oaPortLinId OBJECT-TYPE SYNTAX Integer32 (1..255) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index of the Port Link Reflection (LIN) Table. It includes all Ports, excluding Ports that are the members of the Trunks built in the device. In the OS300 devices the Trunk Ports can not be an Uplink (Master) ports. In the other devices the Trunk Ports can be an Uplink (Master) ports too. Trunks appear in the table with the value equal to ( 132 + [oaDevTrunkGrId] )." ::= { oaPortLinEntry 1 } oaPortLinOperStatus OBJECT-TYPE SYNTAX INTEGER { none (1), master (2), slave (3) } MAX-ACCESS read-only STATUS current DESCRIPTION "Port Link Reflection (LIN) Oper Status: 'none' - means that Port does not take part in any LIN entry. 'master' - port takes part as a Uplink (Master) in the current LIN entry. 'slave' - port takes part as a Slave in some LIN entry." ::= { oaPortLinEntry 2 } oaPortLinAdminStatus OBJECT-TYPE SYNTAX INTEGER { valid (1), invalid (2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Port Link Reflection (LIN) Admin Status. Value 'valid' used for LIN entry creation. [oaPortLinId] port became LIN 'master' and [oaPortLinSlavePorts] ports became LIN 'slave'. Value 'invalid' - used for LIN entry deletion. [oaPortLinId] port became LIN 'none' and all Ports listed in the [oaPortLinSlavePorts] became LIN 'none' too." ::= { oaPortLinEntry 3 } oaPortLinSlavePorts OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..255)) MAX-ACCESS read-write STATUS current DESCRIPTION "List of Slave Ports in the Link Reflection (LIN) entry. Each octet contains the corresponding number of Port or Trunk [order: from first up to last]. Trunks appear in the List of Ports with the value equal to ( 132 + [oaDevTrunkGrId] )." ::= { oaPortLinEntry 4 } oaPortLinSymmetricStatus OBJECT-TYPE SYNTAX INTEGER { other (1), symmetric (2), nonSymmetric (3) } MAX-ACCESS read-write STATUS current DESCRIPTION "Port Link Reflection (LIN) Symmetric Status. Have a sense only for created LIN entry with [oaPortLinOperStatus] - 'master' (for OS300 devices - 'nonSymmetric' only). For entries having [oaPortLinOperStatus] - 'none' or 'slave', responds with 'other'." ::= { oaPortLinEntry 5 } oaPortLinActionCause OBJECT-TYPE SYNTAX INTEGER { noAction (1), portLinkUp (2), portLinkDown (3), agRMepDiscardEvent (4), agRMepNoConnEvent (5), agRMepAliveEvent (6) } MAX-ACCESS read-only STATUS current DESCRIPTION "The causes of last LIN action are: [portLinkDown] - Slave Ports [oaPortLinSlavePorts] are Down because the Master port [oaPortLinId] became Down now. [portLinkUp] - Slave Ports [oaPortLinSlavePorts] are Up because the Master port [oaPortLinId] became Up now. [agRMepDiscardEvent] - Slave Ports [oaPortLinSlavePorts] are Down because the Master port [oaPortLinId] received 'Remote Mep Discard Event'. [agRMepNoConnEvent] - Slave Ports [oaPortLinSlavePorts] are Down because the Master port [oaPortLinId] received 'No connection to Remote Mep Event'. [agRMepAliveEvent] - Slave Ports [oaPortLinSlavePorts] are Up because the Master port [oaPortLinId] received 'Remote Mep Alive Event'." ::= { oaPortLinEntry 6 } -- ******************************************************************* -- Objects in the Table describing the association of the Remote Meps -- with the corresponding LIN Entry. -- ******************************************************************* oaPortLinAgTable OBJECT-TYPE SYNTAX SEQUENCE OF OaPortLinAgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table describes the association of the corresponding LIN with the Remote Meps. " ::= { oaPortLinGrp 5 } oaPortLinAgEntry OBJECT-TYPE SYNTAX OaPortLinAgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Port Link Reflection (LIN) AG table entry." INDEX { oaPortLinId, oaPortLinAgDomainId, oaPortLinAgAssociationId, oaPortLinAgRemoteMep } ::= { oaPortLinAgTable 1 } OaPortLinAgEntry ::= SEQUENCE { oaPortLinAgDomainId Unsigned32, oaPortLinAgAssociationId Unsigned32, oaPortLinAgRemoteMep Unsigned32, oaPortLinAgRMepStatus INTEGER, oaPortLinAgAdminStatus INTEGER } oaPortLinAgDomainId OBJECT-TYPE SYNTAX Unsigned32 (0..7) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Maintainance Domain Id of the Remote Mep." ::= { oaPortLinAgEntry 2 } oaPortLinAgAssociationId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Maintainance Association Id of the Remote Mep." ::= { oaPortLinAgEntry 3 } oaPortLinAgRemoteMep OBJECT-TYPE SYNTAX Unsigned32 (1..8192) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Remote Mep Id associated with the LIN Entry. 8192 - means all existing Meps." ::= { oaPortLinAgEntry 4 } oaPortLinAgRMepStatus OBJECT-TYPE SYNTAX INTEGER { normal (1), discard (2), noConnection (3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The Remote Mep connectivity Status: normal (1), - switch receives CCMs from the RMEP and RMEP's port is UP discard (2), - switch receives CCMs from the RMEP but RMEP's port is DOWN noConnection (3) - switch doesn't receive CCMs from the RMEP " ::= { oaPortLinAgEntry 8 } oaPortLinAgAdminStatus OBJECT-TYPE SYNTAX INTEGER { valid (1), invalid (2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Port Link Reflection (LIN) Admin Status. Value 'valid' used for entry creation. Value 'invalid' - used for LIN entry deletion." ::= { oaPortLinAgEntry 10 } -- ******************************************************************* -- Conformance Information -- ******************************************************************* oaPortLinCompliances OBJECT IDENTIFIER ::= { oaPortLinConformance 1 } oaPortLinGroups OBJECT IDENTIFIER ::= { oaPortLinConformance 2 } -- ******************************************************************* -- Compliance Information -- ******************************************************************* oaPortLinCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The core compliance statement for all 'nbPortLinkReflection' MIB implementations." MODULE -- this module MANDATORY-GROUPS { oaPortLinMandatoryGroup, oaPortLinNotificationsGroup } GROUP oaPortLinTrapParamsGroup DESCRIPTION "This group includes MIB Objects coming with SNMP Traps." GROUP oaPortLinGroup DESCRIPTION "This group includes not mandatory MIB Objects." ::= { oaPortLinCompliances 1 } -- ................................................................... -- Conformance Groups -- ................................................................... oaPortLinMandatoryGroup OBJECT-GROUP OBJECTS { oaPortLinGenSupport, oaPortLinAgSupport, -- oaPortLinId, oaPortLinOperStatus, oaPortLinAdminStatus, oaPortLinSlavePorts, oaPortLinSymmetricStatus, oaPortLinLastError } STATUS current DESCRIPTION "Mandatory objects for grouping of Port Link Reflection (LIN) parameters." ::= { oaPortLinGroups 1 } oaPortLinTrapParamsGroup OBJECT-GROUP OBJECTS { oaPortLinActionCause } STATUS current DESCRIPTION "Mandatory group of the Port Link Reflection (LIN) SNMP Trap parameters." ::= { oaPortLinGroups 2 } oaPortLinGroup OBJECT-GROUP OBJECTS { -- oaPortLinAgDomainId, -- oaPortLinAgAssociationId, -- oaPortLinAgRemoteMep, oaPortLinAgRMepStatus, oaPortLinAgAdminStatus } STATUS current DESCRIPTION "Not Mandatory objects for grouping of Port Link Reflection (LIN) parameters." ::= { oaPortLinGroups 3 } oaPortLinNotificationsGroup NOTIFICATION-GROUP NOTIFICATIONS { oaPortLinStateUp, oaPortLinStateDown } STATUS current DESCRIPTION "The Notifications which are required to be supported by implementations of this MIB." ::= { oaPortLinGroups 4 } -- ******************************************************************* -- Notification Definition section -- ******************************************************************* oaPortLinStateUp NOTIFICATION-TYPE OBJECTS { oaPortLinSlavePorts, oaPortLinActionCause } STATUS current DESCRIPTION "The SNMP trap that is generated when Dependent ports [oaPortLinSlavePorts] Link State became Up. as result of link reflection only. It should not be sent, when port became Up by physical connection or CLI command 'port state enable' - unlike standard LinkUp. In the case of [oaPortLinSymmetricStatus]='nonSymmetric' the Dependent ports are indeed the LIN Slave ports. But in the case of [oaPortLinSymmetricStatus]='symmetric' the Dependent ports list has only one port which can be Master port or Slave port, because in this case these both ports are equivalent. " ::= { oaPortLinNotifications 33 } oaPortLinStateDown NOTIFICATION-TYPE OBJECTS { oaPortLinSlavePorts, oaPortLinActionCause } STATUS current DESCRIPTION "The SNMP trap that is generated when Dependent ports [oaPortLinSlavePorts] Link State became Down as result of link reflection only. It should not be sent, when port became Down by physical disconnection or CLI command 'port state disable' - unlike standard LinkDown. In the case of [oaPortLinSymmetricStatus]='nonSymmetric' the Dependent ports are indeed the LIN Slave ports. But in the case of [oaPortLinSymmetricStatus]='symmetric' the Dependent ports list has only one port which can be Master port or Slave port, because in this case these both ports are equivalent. " ::= { oaPortLinNotifications 35 } END