-- *********************************************************************
-- *********************************************************************
-- ** Filename: PRVT-RING-EPS-MIB
-- ** Project: T - Ethernet and Fast Ethernet IP Switches.
-- ** Purpose: Private MIB
-- *********************************************************************
-- (c) Copyright, 2009, BATM Advanced Communications. All rights reserved.
-- WARNING:
--
-- BY UTILIZING THIS FILE, YOU AGREE TO THE FOLLOWING:
--
-- This file is the property of BATM Advanced Communications.
-- BATM Advanced Communications retains all title and
-- ownership in the Specification, including any revisions.

-- BATM Advanced Communications grants all interested parties a non-exclusive
-- license to use and distribute an unmodified copy of this
-- Specification in connection with management of BATM Advanced Communications
-- and Telco Systemsproducts, and without fee, provided that the following
-- conditions are met:
-- 1. Redistributions of this specification must retain the above copyright
-- notice, this list of conditions and the following disclaimer.
-- 2. Redistributions in binary form must reproduce the above copyright
-- notice, this list of conditions and the following disclaimer in the
-- documentation and/or other materials provided with the distribution.
-- 3. The name of the BATM Advanced Communications MAY NOT be used to endorse
-- or promote products derived from this specification without specific prior written
-- permission.
--
-- EXCEPT AS RESTRICTED BY LAW, OR AS PROVIDED IN BATM'S LIMITED
-- WARRANTY, THE SPECIFICATIONS CONTAINED IN THIS FILE ARE
-- PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES
-- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-- IN NO EVENT SHALL BATM BE LIABLE FOR ANY DAMAGES WHATSOEVER
-- INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS
-- PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR
-- OTHER CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE, OR INABILITY
-- TO USE, THE SPECIFICATION CONTAINED IN THIS FILE.
PRVT-RING-EPS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Unsigned32, NOTIFICATION-TYPE
        FROM SNMPv2-SMI                  -- RFC2578
    TEXTUAL-CONVENTION, RowStatus, MacAddress, TruthValue, DisplayString
        FROM SNMPv2-TC                   -- RFC2579
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF                 -- [RFC2580]
    InterfaceIndexOrZero
        FROM IF-MIB                      -- [RFC2863]
    VlanIdOrNone
        FROM Q-BRIDGE-MIB                -- [RFC4363]
    Dot1agCfmMDLevelOrNone, Dot1agCfmMepIdOrZero
        FROM IEEE8021-CFM-MIB
    switch
 	FROM PRVT-SWITCH-MIB;

prvtRingEpsMib MODULE-IDENTITY
LAST-UPDATED "201003160000Z"
ORGANIZATION "BATM Advanced Communication"
CONTACT-INFO
"BATM/Telco Systems Support team
Email:
For North America: techsupport@telco.com
For North Europe: support@batm.de, info@batm.de
For the rest of the world: techsupport@telco.com"

DESCRIPTION
"This private MIB provides capability of controlling the
 automatic Ring Ethernet Protection Switching (ITU-T G.8032)"

-- revision history
	REVISION "201302220000Z"
    DESCRIPTION
    "Added raps monitoring methods for rings and subrings"
    REVISION "201103110000Z"
    DESCRIPTION
    "Added ring ID for rings and subrings"
    REVISION "201012170000Z"
    DESCRIPTION
    "Added descriptions for rings and subrings"
    REVISION "201003160000Z"
    DESCRIPTION
    "Added support for subrings"
	REVISION "201002020000Z"
	DESCRIPTION
	"Added prvtRingEpsWaitToBlockTimer, changed values order for PrvtRingEpsPortStatusType "
	REVISION       "200911040000Z"
	DESCRIPTION
	"Initial version."

::= { switch 134 }

-- ***********************************************
-- ************ Top level structure of the MIB****
-- ***********************************************
prvtRingEpsNotifications              OBJECT IDENTIFIER ::= { prvtRingEpsMib 0 }
prvtRingEpsObjects                    OBJECT IDENTIFIER ::= { prvtRingEpsMib 1 }
prvtRingEpsConformance                OBJECT IDENTIFIER ::= { prvtRingEpsMib 2 }

prvtRingEpsInstances OBJECT IDENTIFIER ::= { prvtRingEpsObjects 1 }
prvtRingEpsVlans     OBJECT IDENTIFIER ::= { prvtRingEpsObjects 2 }
prvtRingEpsSubRings  OBJECT IDENTIFIER ::= { prvtRingEpsObjects 3 }

PrvtRingEpsModeType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Version of the protocol the instance will use"
    REFERENCE
       "G.8032v2 clause 10.1.13"
    SYNTAX      INTEGER {
                  rapsMode8032v1      (1),
                  rapsMode8032v2      (2)
                }

PrvtRingEpsStateType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "State of the R-APS request processing logic"
    REFERENCE
       "G.8032v2 clause 10.1.2"
    SYNTAX      INTEGER {
                  rapsInit            (0),
                  rapsIdle            (1),
                  rapsProtection      (2),
                  rapsManualSwitch    (3),
                  rapsForcedSwitch    (4),
                  rapsPending         (5)
                }

PrvtRingEpsLocalCommandType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Local system state given by the top priority command received"
    REFERENCE
       "G.8032v2 clause 8"
    SYNTAX      INTEGER {
                  rapsLcNoRequest                  (0),
                  rapsLcExercise                   (1),
                  rapsLcManualSwitch               (2),
                  rapsLcSignalDegrade              (3),
                  rapsLcSignalFail                 (4),
                  rapsLcForcedSwitch               (5),
                  rapsLcClear                      (6),
                  rapsLcLockoutOfProtection        (7)
                }

PrvtRingEpsRemoteRequestType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Remote command received via RAPS packets"
    REFERENCE
       "G.8032v2 clause 10.3"
    SYNTAX      INTEGER {
                  rapsRsNone                       (-1),
                  rapsRsNoRequest                  (0),
                  rapsRsManualSwitch               (7),
                  rapsRsSignalFail                 (11),
                  rapsRsForcedSwitch               (13),
                  rapsRsEvent                      (14)
                }

PrvtRingEpsNodeRoleType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Role of the defined node inside the protected ring"
    REFERENCE
       "G.8032v2"
    SYNTAX      INTEGER {
                  rapsNrSimpleNode             (0),
                  rapsNrRplNeighborNode        (1),
                  rapsNrRplOwner               (2)
                }

PrvtRingEpsRplPortType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Ring port designated as RPL
       (only valid if prvtRingEpsNodeRole is rapsNrRplOwner or rapsNrRplNeighborNode"
    REFERENCE
       "G.8032v2"
    SYNTAX      INTEGER {
                  port0    (0),
                  port1    (1),
                  none     (2)
                }

PrvtRingEpsDefectType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Ring port designated as RPL
       (only valid if prvtRingEpsNodeRole is rapsNrRplOwner or rapsNrRplNeighborNode"
    REFERENCE
       "G.8032v2 10.4"
    SYNTAX      BITS {
                  rapsDprovisioningMismatch    (0)
                }

PrvtRingEpsPortStatusType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Status of the port link"
    SYNTAX      INTEGER {
		        rapsPsOk        (0),
                rapsPsBlocked   (1),
                rapsPsFailed    (2)

                }

PrvtRingEpsPeerStatusType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Status bits set in the received RAPS packet. The meanings are:

        bRplBlocked(0) The RPL link is blocked by the RPL owner.
        bDoNotFlush(1) RAPS sender requests that we do don flush our FDB.
        bBlockedPortReference(2) The port that is blocked by the sender of the RAPS packet.
       "
    REFERENCE
       "ITU-T G.8032v2 clause 10.3"
    SYNTAX BITS {
                bRplBlocked(0),
                bDoNotFlush(1),
                bBlockedPortReference(2)
                }


-- ***********************************************
--      Table definitions
-- ***********************************************
prvtRingEpsInstanceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF PrvtRingEpsInstanceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "This table includes information about the ring instances
     defined on this node."
    ::= { prvtRingEpsInstances 1 }

prvtRingEpsInstanceEntry OBJECT-TYPE
	SYNTAX PrvtRingEpsInstanceEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"NONE"
	INDEX  { prvtRingEpsInstanceIndex }
	::= { prvtRingEpsInstanceTable 1 }

PrvtRingEpsInstanceEntry  ::= SEQUENCE {
    prvtRingEpsInstanceIndex         Unsigned32,
    prvtRingEpsMode                  PrvtRingEpsModeType,
    prvtRingEpsNodeRole              PrvtRingEpsNodeRoleType,
    prvtRingEpsState                 PrvtRingEpsStateType,
	prvtRingEpsLocalCommand          PrvtRingEpsLocalCommandType,
    prvtRingEpsControlVlan           VlanIdOrNone,
    prvtRingEpsPort0Ifindex          InterfaceIndexOrZero,
    prvtRingEpsPort1Ifindex          InterfaceIndexOrZero,
    prvtRingEpsRplPort               PrvtRingEpsRplPortType,
    prvtRingEpsManualSwitchPort      PrvtRingEpsRplPortType,
    prvtRingEpsCfmMdLevel            Dot1agCfmMDLevelOrNone,
    prvtRingEpsPort0Mep              Dot1agCfmMepIdOrZero,
    prvtRingEpsPort1Mep              Dot1agCfmMepIdOrZero,
	prvtRingEpsRevertive             TruthValue,
	prvtRingEpsNoVirtualChannel      TruthValue,
	prvtRingEpsHoldOffTimer          Unsigned32,
	prvtRingEpsWaitToRestoreTimer    Unsigned32,
	prvtRingEpsGuardTimer            Unsigned32,
	prvtRingEpsWaitToBlockTimer      Unsigned32,
	prvtRingEpsDefectFop             PrvtRingEpsDefectType,
	prvtRingEpsPort0Status           PrvtRingEpsPortStatusType,
	prvtRingEpsPort1Status           PrvtRingEpsPortStatusType,
	prvtRingEpsPort0PeerNodeId       MacAddress,
	prvtRingEpsPort1PeerNodeId	 	 MacAddress,
	prvtRingEpsPort0PeerCommand 	 PrvtRingEpsRemoteRequestType,
	prvtRingEpsPort1PeerCommand		 PrvtRingEpsRemoteRequestType,
	prvtRingEpsPort0PeerStatus		 PrvtRingEpsPeerStatusType,
	prvtRingEpsPort1PeerStatus 		 PrvtRingEpsPeerStatusType,
	prvtRingEpsOperationalStatus     TruthValue,
	prvtRingEpsAdminStatus           TruthValue,
    prvtRingEpsRowStatus             RowStatus,
    prvtRingEpsForcedSwitchPort      PrvtRingEpsRplPortType,
    prvtRingEpsInstanceDescription   DisplayString,
    prvtRingEpsRingId                Unsigned32,
	prvtRingEpsPort0MonitoringMethod INTEGER,
	prvtRingEpsPort1MonitoringMethod INTEGER
    }

prvtRingEpsInstanceIndex OBJECT-TYPE
	SYNTAX          Unsigned32 (1..10)
	MAX-ACCESS      not-accessible
	STATUS          current
	DESCRIPTION	    "RAPS instance index"
	::= { prvtRingEpsInstanceEntry 1 }

prvtRingEpsMode OBJECT-TYPE
	SYNTAX          PrvtRingEpsModeType
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION	    "Version of the protocol the instance will use"
	DEFVAL          {rapsMode8032v2}
	::= { prvtRingEpsInstanceEntry 2 }

prvtRingEpsNodeRole OBJECT-TYPE
	SYNTAX          PrvtRingEpsNodeRoleType
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION
    "This variable identifies the role that the node will play inside the ring.
     The node can have two special roles, RPL owner or RPL neighbor, when one
     of its ports is designated as RPL. The ring can have a single RPL owner
     and a single RPL neighbor, connected between eachother via the RPL.
     If neither of the node ports are designated as RPL, then the node should
     have the role of a Simple node"
	DEFVAL          {rapsNrSimpleNode}
	::= { prvtRingEpsInstanceEntry 3 }

prvtRingEpsState OBJECT-TYPE
	SYNTAX          PrvtRingEpsStateType
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
    "This variable identifies the state of the ring node according to
     the standard state machine."
	DEFVAL          {rapsInit}
	::= { prvtRingEpsInstanceEntry 4 }

prvtRingEpsLocalCommand OBJECT-TYPE
	SYNTAX          PrvtRingEpsLocalCommandType
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION
    "The user can control the ring using a set of commands allowing
     blocking and unblocking of ports. These commands are rapsLcManualSwitch,
     rapsLcForcedSwitch and rapsLcClear. The others are either read-only values
     or not yet defined by the standard."
	DEFVAL          {rapsLcNoRequest}
	::= { prvtRingEpsInstanceEntry 5 }

prvtRingEpsControlVlan OBJECT-TYPE
    SYNTAX          VlanIdOrNone
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "The vlan ID used for RAPS & CFM traffic."
    DEFVAL          {0}
    ::= { prvtRingEpsInstanceEntry 6 }

prvtRingEpsPort0Ifindex OBJECT-TYPE
	SYNTAX          InterfaceIndexOrZero
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION
    "This variable is the interface index of the interface either a
    bridge port, or an aggregated IEEE 802.1 link within a bridge
    port, attached to the ring as port 0."
	DEFVAL          {0}
	::= { prvtRingEpsInstanceEntry 7 }

prvtRingEpsPort1Ifindex OBJECT-TYPE
	SYNTAX          InterfaceIndexOrZero
	MAX-ACCESS      read-create
	STATUS          current
    DESCRIPTION
    "This variable is the interface index of the interface either a
    bridge port, or an aggregated IEEE 802.1 link within a bridge
    port, attached to the ring as port 1."
	DEFVAL          {0}
	::= { prvtRingEpsInstanceEntry 8 }

prvtRingEpsRplPort OBJECT-TYPE
	SYNTAX          PrvtRingEpsRplPortType
	MAX-ACCESS      read-create
	STATUS          current
    DESCRIPTION
    "This object controls whether the one of the ring ports is designated as RPL
     for the ring or not."
	DEFVAL          {none}
	::= { prvtRingEpsInstanceEntry 9 }

prvtRingEpsManualSwitchPort OBJECT-TYPE
	SYNTAX          PrvtRingEpsRplPortType
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION	    "The port blocked by the Manual Switch command"
	DEFVAL          {none}
	::= { prvtRingEpsInstanceEntry 10 }

prvtRingEpsCfmMdLevel OBJECT-TYPE
	SYNTAX          Dot1agCfmMDLevelOrNone
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION
	"Value of the CFM MD level where the protected domain is situated"
	DEFVAL          {-1}
	::= { prvtRingEpsInstanceEntry 11 }

prvtRingEpsPort0Mep OBJECT-TYPE
	SYNTAX          Dot1agCfmMepIdOrZero
	MAX-ACCESS      read-create
	STATUS          current
    DESCRIPTION
    "This variable is the peer MEP ID that should send CCMs towards port 0."
	DEFVAL          {0}
	::= { prvtRingEpsInstanceEntry 12 }

prvtRingEpsPort1Mep OBJECT-TYPE
	SYNTAX          Dot1agCfmMepIdOrZero
	MAX-ACCESS      read-create
	STATUS          current
    DESCRIPTION
    "This variable is the peer MEP ID that should send CCMs towards port 1."
	DEFVAL          {0}
	::= { prvtRingEpsInstanceEntry 13 }

prvtRingEpsRevertive OBJECT-TYPE
	SYNTAX          TruthValue
	MAX-ACCESS      read-create
	STATUS          current
    DESCRIPTION
    "This is the MI_RAPS_Revertive variable defined in the standard.
     It controls whether the RPL is blocked again after a failure of
     some ring link recovers."
    REFERENCE       "G.8032v2 clause 9.1"
	DEFVAL          {true}
	::= { prvtRingEpsInstanceEntry 14 }

prvtRingEpsNoVirtualChannel OBJECT-TYPE
	SYNTAX          TruthValue
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION	    "Node is part of a subring that doesn't use RAPS virtual channel"
	REFERENCE       "G.8032v2 10.1.14"
	DEFVAL          {false}
	::= { prvtRingEpsInstanceEntry 15 }

prvtRingEpsHoldOffTimer OBJECT-TYPE
	SYNTAX          Unsigned32 (0..10000)
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION	    "Range is from 0 to 10 seconds in 100msec intervals"
	REFERENCE       "G.8032v2 clause 10.1.8"
	DEFVAL          {0}
	::= { prvtRingEpsInstanceEntry 16 }

prvtRingEpsWaitToRestoreTimer OBJECT-TYPE
	SYNTAX          Unsigned32 (1..12)
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION	    "Range is from 1 to 12 minutes"
	REFERENCE       "G.8032v2 clause 10.1.4"
	DEFVAL          {5}
	::= { prvtRingEpsInstanceEntry 17 }

prvtRingEpsGuardTimer OBJECT-TYPE
	SYNTAX          Unsigned32 (10..2000)
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION	    "Range is from 10msec to 2 seconds in 10msec intervals"
	REFERENCE       "G.8032v2 clause 10.1.5"
	DEFVAL          {500}
	::= { prvtRingEpsInstanceEntry 18 }

prvtRingEpsWaitToBlockTimer OBJECT-TYPE
	SYNTAX          Unsigned32 (5010..7000)
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
    "Range is from 5010msec to 7 seconds in 10msec intervals.
     This time is actulally the Guard Timer + 5 seconds"
	REFERENCE       "G.8032v2 clause 10.1.5"
	DEFVAL          {5500}
	::= { prvtRingEpsInstanceEntry 19 }

prvtRingEpsDefectFop OBJECT-TYPE
	SYNTAX          PrvtRingEpsDefectType
	MAX-ACCESS      read-only
	STATUS          current
    DESCRIPTION
    "So far only the situation when two or more RPL-owners are defined
     in the ring is identified as a defect. This scenario is noticed when
     the instance with the RPL-Owner role receives a RAPS packet with the
     RB bit set in its status field from a different NodeID than its own."
	REFERENCE       "G.8032v2 clause 10.4"
	::= { prvtRingEpsInstanceEntry 20 }

prvtRingEpsPort0Status OBJECT-TYPE
	SYNTAX          PrvtRingEpsPortStatusType
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
    "This variable reflects the state of port 0.
     It can be either Ok (unblocked), Blocked or Failed."
	DEFVAL          {rapsPsFailed}
	::= { prvtRingEpsInstanceEntry 21 }

prvtRingEpsPort1Status OBJECT-TYPE
	SYNTAX          PrvtRingEpsPortStatusType
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
    "This variable reflects the state of port 1.
     It can be either Ok (unblocked), Blocked or Failed."
	DEFVAL          {rapsPsFailed}
	::= { prvtRingEpsInstanceEntry 22 }

prvtRingEpsPort0PeerNodeId OBJECT-TYPE
	SYNTAX          MacAddress
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
    "This variable reflects the Node ID from the RAPS packet received
     via port 0."
	::= { prvtRingEpsInstanceEntry 23 }

prvtRingEpsPort1PeerNodeId OBJECT-TYPE
	SYNTAX          MacAddress
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
    "This variable reflects the Node ID from the RAPS packet received
     via port 1."
	::= { prvtRingEpsInstanceEntry 24 }

prvtRingEpsPort0PeerCommand OBJECT-TYPE
	SYNTAX          PrvtRingEpsRemoteRequestType
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
    "This variable reflects the Request/State of the RAPS packet received
     via port 0."
	DEFVAL          {rapsRsNone}
	::= { prvtRingEpsInstanceEntry 25 }

prvtRingEpsPort1PeerCommand OBJECT-TYPE
	SYNTAX          PrvtRingEpsRemoteRequestType
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
    "This variable reflects the Request/State of the RAPS packet received
     via port 1."
	DEFVAL          {rapsRsNone}
	::= { prvtRingEpsInstanceEntry 26 }

prvtRingEpsPort0PeerStatus OBJECT-TYPE
	SYNTAX          PrvtRingEpsPeerStatusType
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
    "This variable reflects the status field of the RAPS packet received
     via port 0."
	::= { prvtRingEpsInstanceEntry 27 }

prvtRingEpsPort1PeerStatus OBJECT-TYPE
	SYNTAX          PrvtRingEpsPeerStatusType
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
    "This variable reflects the status field of the RAPS packet received
     via port 1."
	::= { prvtRingEpsInstanceEntry 28 }

prvtRingEpsOperationalStatus OBJECT-TYPE
	SYNTAX          TruthValue
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
    "The purpose of this status is to identify to the user whether
     this instance is ready for running. The operational status can
     be up or down. When creating the instance the operational
     status will be down. Receiving CCMs from the expected peer MEPs on
     both ring ports will bring the operational status to up. If any
     needed CFM configuration is removed the operational status will
     go back to down"
	DEFVAL          {false}
	::= { prvtRingEpsInstanceEntry 29 }

prvtRingEpsAdminStatus OBJECT-TYPE
	SYNTAX          TruthValue
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION	    "Administrative status of the instance"
	DEFVAL          {false}
	::= { prvtRingEpsInstanceEntry 30 }

prvtRingEpsRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "The status of the row."
    ::= { prvtRingEpsInstanceEntry 31 }

prvtRingEpsForcedSwitchPort OBJECT-TYPE
    SYNTAX          PrvtRingEpsRplPortType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "The port blocked by the Forced Switch command"
    DEFVAL          {none}
    ::= { prvtRingEpsInstanceEntry 32 }

prvtRingEpsInstanceDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION "RAPS instance description."
::= { prvtRingEpsInstanceEntry 33 }

prvtRingEpsRingId OBJECT-TYPE
    SYNTAX          Unsigned32 (1..255)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
    "The last octet of the RAPS destination MAC address
     is designated as Ring ID (01-19-A7-00-00-[Ring ID]).
     As of G.8032v2 the destination MAC address
     '01-19-A7-00-00-01' is used. The usage of other
     MAC addresses is for further study."
    REFERENCE       "G.8032v2 Appendix VII"
    DEFVAL          {1}
    ::= { prvtRingEpsInstanceEntry 34 }
	
prvtRingEpsPort0MonitoringMethod  OBJECT-TYPE
	SYNTAX INTEGER
        {
		ccm ( 1 ),
		link-status( 2 )
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Raps monitoring methods for port 0: 
    ccm - CCM messages and link status will be used for raps monitoring,
    link-status -Link status will be used for raps monitoring"
	DEFVAL { 1 }
	::= { prvtRingEpsInstanceEntry 35 }	

prvtRingEpsPort1MonitoringMethod  OBJECT-TYPE
	SYNTAX INTEGER
        {
		ccm ( 1 ),
		link-status( 2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Raps monitoring methods for port 1:
	ccm - CCM messages and link status will be used for raps monitoring,
    link-status - Link status will be used for raps monitoring"
	DEFVAL { 1 }
	::= { prvtRingEpsInstanceEntry 36 }		


prvtRingEpsVlanTable OBJECT-TYPE
    SYNTAX SEQUENCE OF PrvtRingEpsVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "This table includes information about protected vlans and the ring
     instances that monitor them."
    ::= { prvtRingEpsVlans 1 }

prvtRingEpsVlanEntry OBJECT-TYPE
	SYNTAX PrvtRingEpsVlanEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Connection between vlan IDs and the RAPS instance that monitors them"
	INDEX  { prvtRingEpsVlanIndex }
	::= { prvtRingEpsVlanTable 1 }

PrvtRingEpsVlanEntry  ::= SEQUENCE {
    prvtRingEpsVlanIndex         Unsigned32,
    prvtRingEpsInstance          Unsigned32,
    prvtRingEpsVlanRowStatus     RowStatus
    }

prvtRingEpsVlanIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4094)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "The vlan ID."
    ::= { prvtRingEpsVlanEntry 1 }

prvtRingEpsInstance OBJECT-TYPE
	SYNTAX          Unsigned32 (0..10)
	MAX-ACCESS      read-create
	STATUS          current
	DESCRIPTION	    "RAPS instance that will monitor this vlan"
	DEFVAL          { 0 }
	::= { prvtRingEpsVlanEntry 2 }

prvtRingEpsVlanRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "The status of the row."
    ::= { prvtRingEpsVlanEntry 3 }








prvtRingEpsSubRingTable OBJECT-TYPE
    SYNTAX SEQUENCE OF PrvtRingEpsSubRingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "Table containing information about the subring instances
     defined on this node."
    ::= { prvtRingEpsSubRings 1 }

prvtRingEpsSubRingEntry OBJECT-TYPE
    SYNTAX PrvtRingEpsSubRingEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "Configuration of a subring that is interconnected to the main ring in an interconnection node"
    INDEX  { prvtRingEpsInstanceIndex, prvtRingEpsSubRingIndex }
    ::= { prvtRingEpsSubRingTable 1 }

PrvtRingEpsSubRingEntry  ::= SEQUENCE {
    prvtRingEpsSubRingIndex                 Unsigned32,
    prvtRingEpsSubRingNodeRole              PrvtRingEpsNodeRoleType,
    prvtRingEpsSubRingState                 PrvtRingEpsStateType,
    prvtRingEpsSubRingLocalCommand          PrvtRingEpsLocalCommandType,
    prvtRingEpsSubRingPortIfindex           InterfaceIndexOrZero,
    prvtRingEpsSubRingPortMep               Dot1agCfmMepIdOrZero,
    prvtRingEpsSubRingRplPort               PrvtRingEpsRplPortType,
    prvtRingEpsSubRingVirtualChannelVlan    VlanIdOrNone,
    prvtRingEpsSubRingRevertive             TruthValue,
    prvtRingEpsSubRingHoldOffTimer          Unsigned32,
    prvtRingEpsSubRingWaitToRestoreTimer    Unsigned32,
    prvtRingEpsSubRingGuardTimer            Unsigned32,
    prvtRingEpsSubRingWaitToBlockTimer      Unsigned32,
    prvtRingEpsSubRingDefectFop             PrvtRingEpsDefectType,
    prvtRingEpsSubRingPortStatus            PrvtRingEpsPortStatusType,
    prvtRingEpsSubRingPortPeerNodeId        MacAddress,
    prvtRingEpsSubRingPeerCommand           PrvtRingEpsRemoteRequestType,
    prvtRingEpsSubRingPeerStatus            PrvtRingEpsPeerStatusType,
    prvtRingEpsSubRingVcPeerNodeId          MacAddress,
    prvtRingEpsSubRingVcPeerCommand         PrvtRingEpsRemoteRequestType,
    prvtRingEpsSubRingVcPeerStatus          PrvtRingEpsPeerStatusType,
    prvtRingEpsSubRingPropagateTC           TruthValue,
    prvtRingEpsSubRingOperationalStatus     TruthValue,
    prvtRingEpsSubRingAdminStatus           TruthValue,
    prvtRingEpsSubRingRowStatus             RowStatus,
    prvtRingEpsSubRingControlVlan           VlanIdOrNone,
    prvtRingEpsSubRingDescription           DisplayString,
    prvtRingEpsSubRingRingId                Unsigned32,
	prvtRingEpsSubRingMonitoringMethod      INTEGER
    }

prvtRingEpsSubRingIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..10)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "A subring ID"
    ::= { prvtRingEpsSubRingEntry 1 }

prvtRingEpsSubRingNodeRole OBJECT-TYPE
    SYNTAX          PrvtRingEpsNodeRoleType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
    "This variable identifies the role that the node will play inside the subring.
     The node can have two special roles, RPL owner or RPL neighbor, when the
     subring port is designated as RPL. The subring can have a single RPL owner
     and a single RPL neighbor, connected between eachother via the RPL.
     If the subring port is not designated as RPL, then the node should
     have the role of a Simple node"
    DEFVAL          {rapsNrSimpleNode}
    ::= { prvtRingEpsSubRingEntry 2 }

prvtRingEpsSubRingState OBJECT-TYPE
    SYNTAX          PrvtRingEpsStateType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "This variable identifies the state of the subring node according to
     the standard state machine."
    REFERENCE       "G.8032v2 clause 10.1.2"
    DEFVAL          {rapsInit}
    ::= { prvtRingEpsSubRingEntry 3 }

prvtRingEpsSubRingLocalCommand OBJECT-TYPE
    SYNTAX          PrvtRingEpsLocalCommandType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
    "The user can control the ring using a set of commands allowing
     blocking and unblocking of ports. These commands are rapsLcManualSwitch,
     rapsLcForcedSwitch and rapsLcClear. The others are either read-only values
     or not yet defined by the standard."
    DEFVAL          {rapsLcNoRequest}
    ::= { prvtRingEpsSubRingEntry 4 }

prvtRingEpsSubRingPortIfindex OBJECT-TYPE
    SYNTAX          InterfaceIndexOrZero
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
    "This variable is the interface index of the interface either a
    bridge port, or an aggregated IEEE 802.1 link within a bridge
    port, attached to the subring."
    DEFVAL          {0}
    ::= { prvtRingEpsSubRingEntry 5 }

prvtRingEpsSubRingPortMep OBJECT-TYPE
    SYNTAX          Dot1agCfmMepIdOrZero
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
    "This variable is the peer MEP ID that should send CCMs towards the subring port."
    DEFVAL          {0}
    ::= { prvtRingEpsSubRingEntry 6 }

prvtRingEpsSubRingRplPort OBJECT-TYPE
    SYNTAX          PrvtRingEpsRplPortType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
    "This object controls whether the subring port is designated as RPL
     for the subring or not."
    DEFVAL          {none}
    ::= { prvtRingEpsSubRingEntry 7 }

prvtRingEpsSubRingVirtualChannelVlan OBJECT-TYPE
    SYNTAX          VlanIdOrNone
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "The vlan ID used for Virtual Channel encapsulation"
    DEFVAL          {0}
    ::= { prvtRingEpsSubRingEntry 8 }

prvtRingEpsSubRingRevertive OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
    "This is the MI_RAPS_Revertive variable defined in the standard.
     It controls whether the RPL is blocked again after a failure of
     some subring link recovers."
    REFERENCE       "G.8032v2 clause 9.1"
    DEFVAL          {true}
    ::= { prvtRingEpsSubRingEntry 9 }

prvtRingEpsSubRingHoldOffTimer OBJECT-TYPE
    SYNTAX          Unsigned32 (0..10000)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "Range is from 0 to 10 seconds in 100msec intervals"
    REFERENCE       "G.8032v2 clause 10.1.8"
    DEFVAL          {0}
    ::= { prvtRingEpsSubRingEntry 10 }

prvtRingEpsSubRingWaitToRestoreTimer OBJECT-TYPE
    SYNTAX          Unsigned32 (1..12)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "Range is from 1 to 12 minutes"
    REFERENCE       "G.8032v2 clause 10.1.4"
    DEFVAL          {5}
    ::= { prvtRingEpsSubRingEntry 11 }

prvtRingEpsSubRingGuardTimer OBJECT-TYPE
    SYNTAX          Unsigned32 (10..2000)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "Range is from 10msec to 2 seconds in 10msec intervals"
    REFERENCE       "G.8032v2 clause 10.1.5"
    DEFVAL          {500}
    ::= { prvtRingEpsSubRingEntry 12 }

prvtRingEpsSubRingWaitToBlockTimer OBJECT-TYPE
    SYNTAX          Unsigned32 (5010..7000)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "Range is from 5010msec to 7 seconds in 10msec intervals.
     This time is actulally the Guard Timer + 5 seconds"
    REFERENCE       "G.8032v2 clause 10.1.5"
    DEFVAL          {5500}
    ::= { prvtRingEpsSubRingEntry 13 }

prvtRingEpsSubRingDefectFop OBJECT-TYPE
    SYNTAX          PrvtRingEpsDefectType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "So far only the situation when two or more RPL-owners are defined
     in the ring is identified as a defect. This scenario is noticed when
     the instance with the RPL-Owner role receives a RAPS packet with the
     RB bit set in its status field from a different NodeID than its own."
    REFERENCE       "G.8032v2 clause 10.4"
    ::= { prvtRingEpsSubRingEntry 14 }

prvtRingEpsSubRingPortStatus OBJECT-TYPE
    SYNTAX          PrvtRingEpsPortStatusType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "This variable reflects the state of the subring port.
     It can be either Ok (unblocked), Blocked or Failed."
    DEFVAL          {rapsPsFailed}
    ::= { prvtRingEpsSubRingEntry 15 }

prvtRingEpsSubRingPortPeerNodeId OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "This variable reflects the Node ID from the RAPS packet received
     via the subring port."
    ::= { prvtRingEpsSubRingEntry 16 }

prvtRingEpsSubRingPeerCommand OBJECT-TYPE
    SYNTAX          PrvtRingEpsRemoteRequestType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "This variable reflects the Request/State of the RAPS packet received
     via the subring port."
    DEFVAL          {rapsRsNone}
    ::= { prvtRingEpsSubRingEntry 17 }

prvtRingEpsSubRingPeerStatus OBJECT-TYPE
    SYNTAX          PrvtRingEpsPeerStatusType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "This variable reflects the status field of the RAPS packet received
     via the subring port."
    ::= { prvtRingEpsSubRingEntry 18 }

prvtRingEpsSubRingVcPeerNodeId OBJECT-TYPE
    SYNTAX          MacAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "This variable reflects the Node ID from the RAPS packet received
     via the virtual channel."
    ::= { prvtRingEpsSubRingEntry 19 }

prvtRingEpsSubRingVcPeerCommand OBJECT-TYPE
    SYNTAX          PrvtRingEpsRemoteRequestType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "This variable reflects the Request/State of the RAPS packet received
     via the virtual channel."
    DEFVAL          {rapsRsNone}
    ::= { prvtRingEpsSubRingEntry 20 }

prvtRingEpsSubRingVcPeerStatus OBJECT-TYPE
    SYNTAX          PrvtRingEpsPeerStatusType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "This variable reflects the status field of the RAPS packet received
     via the virtual channel."
    ::= { prvtRingEpsSubRingEntry 21 }

prvtRingEpsSubRingPropagateTC OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
    "This is the MI_RAPS_Propagate_TC variable mentioned in the standard.
     If this is enabled a flush in the subring will be followed by a flush in
     the main instance."
    REFERENCE       "G.8032v2 10.1.11"
    DEFVAL          {false}
    ::= { prvtRingEpsSubRingEntry 22 }

prvtRingEpsSubRingOperationalStatus OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "The purpose of this status is to identify to the user whether
     this instance is ready for running. The operational status can
     be up or down. When creating the instance the operational
     status will be down. Receiving CCMs from the expected peer MEP on
     the subring port will bring the operational status to up. If any
     needed CFM configuration is removed the operational status will
     go back to down"
    DEFVAL          {false}
    ::= { prvtRingEpsSubRingEntry 23 }

prvtRingEpsSubRingAdminStatus OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "Administrative status of the subring instance"
    DEFVAL          {false}
    ::= { prvtRingEpsSubRingEntry 24 }

prvtRingEpsSubRingRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "The status of the row."
    ::= { prvtRingEpsSubRingEntry 25 }

prvtRingEpsSubRingControlVlan OBJECT-TYPE
    SYNTAX          VlanIdOrNone
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "The vlan ID used for RAPS & CFM traffic."
    DEFVAL          {0}
    ::= { prvtRingEpsSubRingEntry 26 }

prvtRingEpsSubRingDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION "RAPS instance sub-ring description."
    ::= { prvtRingEpsSubRingEntry 27 }

prvtRingEpsSubRingRingId OBJECT-TYPE
    SYNTAX          Unsigned32 (1..255)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
    "The last octet of the RAPS destination MAC address
     is designated as Ring ID (01-19-A7-00-00-[Ring ID]).
     As of G.8032v2 the destination MAC address
     '01-19-A7-00-00-01' is used. The usage of other
     MAC addresses is for further study."
    REFERENCE       "G.8032v2 Appendix VII"
    DEFVAL          {1}
    ::= { prvtRingEpsSubRingEntry 28 }
	
prvtRingEpsSubRingMonitoringMethod  OBJECT-TYPE
	SYNTAX INTEGER
    {
		ccm ( 1 ),
		link-status( 2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Raps monitoring methods for subring port:
	ccm - CCM messags and link status  will be used for raps monitoring,
    link-status -Link status will be used for raps monitoring"
	DEFVAL { 1 }
	::= { prvtRingEpsSubRingEntry 29 }		
	
	

-- ******************************************************************
-- NOTIFICATIONS (TRAPS)
-- ******************************************************************

prvtRingEpsDefectAlarm NOTIFICATION-TYPE
    OBJECTS     { prvtRingEpsOperationalStatus,
                  prvtRingEpsDefectFop
                }
    STATUS      current
    DESCRIPTION
       "This trap will be sent by any instance when it notices a defect.
        So far only the situation when two or more RPL-owners are defined
        in the ring is identified as a defect. This scenario is noticed when
        the instance with the RPL-Owner role receives a RAPS packet with the
        RB bit set in its status field from a different NodeID than its own.
        The management entity receiving the notification can identify
        the system from the network source address of the
        notification, and can identify the instance reporting the change
        by the indices in the OID of the prvtRingEpsDefectFop
        variable in the notification."
    ::= { prvtRingEpsNotifications 1 }

prvtRingEpsSwitchoverAlarm NOTIFICATION-TYPE
    OBJECTS     { prvtRingEpsState
                }
    STATUS      current
    DESCRIPTION
       "This trap will be sent by any instance when it changes state.
        The management entity receiving the notification can identify
        the system from the network source address of the
        notification, and can identify the instance reporting the change
        by the indices in the OID of the prvtRingEpsState
        variable in the notification."
    ::= { prvtRingEpsNotifications 2 }

prvtRingEpsSubRingDefectAlarm NOTIFICATION-TYPE
    OBJECTS     { prvtRingEpsSubRingOperationalStatus,
                  prvtRingEpsSubRingDefectFop
                }
    STATUS      current
    DESCRIPTION
       "This trap will be sent by any subring instance when it notices a defect.
        So far only the situation when two or more RPL-owners are defined
        in the ring is identified as a defect. This scenario is noticed when
        the instance with the RPL-Owner role receives a RAPS packet with the
        RB bit set in its status field from a different NodeID than its own.
        The management entity receiving the notification can identify
        the system from the network source address of the
        notification, and can identify the instance reporting the change
        by the indices in the OID of the prvtRingEpsDefectFop
        variable in the notification."
    ::= { prvtRingEpsNotifications 3 }

prvtRingEpsSubRingSwitchoverAlarm NOTIFICATION-TYPE
    OBJECTS     { prvtRingEpsSubRingState
                }
    STATUS      current
    DESCRIPTION
       "This trap will be sent by any subring instance when it changes state.
        The management entity receiving the notification can identify
        the system from the network source address of the
        notification, and can identify the instance reporting the change
        by the indices in the OID of the prvtRingEpsSubRingState
        variable in the notification."
    ::= { prvtRingEpsNotifications 4 }





-- ******************************************************************
-- PRVT-RING-EPS MIB Module - Conformance Information
-- ******************************************************************

prvtRingEpsCompliances   OBJECT IDENTIFIER ::= { prvtRingEpsConformance 1 }
prvtRingEpsGroups        OBJECT IDENTIFIER ::= { prvtRingEpsConformance 2 }

-- ******************************************************************
-- Units of conformance
-- ******************************************************************

prvtRingEpsGroup OBJECT-GROUP
    OBJECTS {
	    prvtRingEpsMode,
	    prvtRingEpsNodeRole,
        prvtRingEpsState,
		prvtRingEpsLocalCommand,
	    prvtRingEpsControlVlan,
	    prvtRingEpsPort0Ifindex,
	    prvtRingEpsPort1Ifindex,
	    prvtRingEpsRplPort,
	    prvtRingEpsManualSwitchPort,
	    prvtRingEpsCfmMdLevel,
	    prvtRingEpsPort0Mep,
	    prvtRingEpsPort1Mep,
		prvtRingEpsRevertive,
	    prvtRingEpsNoVirtualChannel,
		prvtRingEpsHoldOffTimer,
		prvtRingEpsWaitToRestoreTimer,
		prvtRingEpsGuardTimer,
        prvtRingEpsWaitToBlockTimer,
		prvtRingEpsDefectFop,
		prvtRingEpsPort0Status,
		prvtRingEpsPort1Status,
		prvtRingEpsPort0PeerNodeId,
		prvtRingEpsPort1PeerNodeId,
		prvtRingEpsPort0PeerCommand,
		prvtRingEpsPort1PeerCommand,
		prvtRingEpsPort0PeerStatus,
		prvtRingEpsPort1PeerStatus,
		prvtRingEpsOperationalStatus,
		prvtRingEpsAdminStatus,
	    prvtRingEpsRowStatus,
        prvtRingEpsForcedSwitchPort,
        prvtRingEpsInstanceDescription,
        prvtRingEpsRingId,
		prvtRingEpsPort0MonitoringMethod,
		prvtRingEpsPort1MonitoringMethod
    }
    STATUS      current
    DESCRIPTION
       "Objects for the RAPS instances group."
    ::= { prvtRingEpsGroups 1 }

prvtRingEpsVlanGroup OBJECT-GROUP
    OBJECTS {
	    prvtRingEpsInstance,
	    prvtRingEpsVlanRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Objects for the RAPS monitored vlans group."
    ::= { prvtRingEpsGroups 2 }

prvtRingEpsSubRingGroup OBJECT-GROUP
    OBJECTS {
        prvtRingEpsSubRingNodeRole,
        prvtRingEpsSubRingState,
        prvtRingEpsSubRingLocalCommand,
        prvtRingEpsSubRingPortIfindex,
        prvtRingEpsSubRingPortMep,
        prvtRingEpsSubRingRplPort,
        prvtRingEpsSubRingVirtualChannelVlan,
        prvtRingEpsSubRingRevertive,
        prvtRingEpsSubRingHoldOffTimer,
        prvtRingEpsSubRingWaitToRestoreTimer,
        prvtRingEpsSubRingGuardTimer,
        prvtRingEpsSubRingWaitToBlockTimer,
        prvtRingEpsSubRingDefectFop,
        prvtRingEpsSubRingPortStatus,
        prvtRingEpsSubRingPortPeerNodeId,
        prvtRingEpsSubRingPeerCommand,
        prvtRingEpsSubRingPeerStatus,
        prvtRingEpsSubRingVcPeerNodeId,
        prvtRingEpsSubRingVcPeerCommand,
        prvtRingEpsSubRingVcPeerStatus,
        prvtRingEpsSubRingPropagateTC,
        prvtRingEpsSubRingOperationalStatus,
        prvtRingEpsSubRingAdminStatus,
        prvtRingEpsSubRingRowStatus,
        prvtRingEpsSubRingControlVlan,
        prvtRingEpsSubRingDescription,
        prvtRingEpsSubRingRingId,
		prvtRingEpsSubRingMonitoringMethod
    }
    STATUS      current
    DESCRIPTION
       "Objects for the RAPS subring group."
    ::= { prvtRingEpsGroups 3 }

prvtRingEpsNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
      prvtRingEpsSwitchoverAlarm,
      prvtRingEpsDefectAlarm,
      prvtRingEpsSubRingSwitchoverAlarm,
      prvtRingEpsSubRingDefectAlarm
    }
    STATUS      current
    DESCRIPTION
       "Objects for the Notifications group."
    ::= { prvtRingEpsGroups 4 }

-- ******************************************************************
-- MIB Module Compliance statements
-- ******************************************************************

prvtRingEpsCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
       "The compliance statement for support of the Ring EPS MIB module."
    MODULE
        MANDATORY-GROUPS {
            prvtRingEpsGroup,
            prvtRingEpsVlanGroup,
            prvtRingEpsSubRingGroup,
            prvtRingEpsNotificationsGroup
            }

    OBJECT prvtRingEpsRowStatus
      SYNTAX       RowStatus { active(1), notInService(2) }
      WRITE-SYNTAX RowStatus { active(1), notInService(2),
                               createAndWait(5), destroy(6) }
      DESCRIPTION "Support for createAndWait is required."

    OBJECT prvtRingEpsVlanRowStatus
      SYNTAX       RowStatus { active(1), notInService(2) }
      WRITE-SYNTAX RowStatus { active(1), notInService(2),
                               createAndWait(5), destroy(6) }
      DESCRIPTION "Support for createAndWait is required."

    OBJECT prvtRingEpsSubRingRowStatus
      SYNTAX       RowStatus { active(1), notInService(2) }
      WRITE-SYNTAX RowStatus { active(1), notInService(2),
                               createAndWait(5), destroy(6) }
      DESCRIPTION "Support for createAndWait is required."

    ::= { prvtRingEpsCompliances 1 }

END

