-- **************************************************************************
-- *                                                                        *
-- *                                                                        *
-- *                  Hirschmann Automation and Control GmbH                *
-- *                                                                        *
-- *                         PLATFORM SNMP PRIVATE MIB                      * 
-- *                                                                        *
-- *                             Ring Redundancy                            *
-- *                                                                        *
-- *                                                                        *
-- %*************************************************************************
-- *                                                                        *
-- *    Dies ist eine SNMP MIB fuer Hirschmann Platform Geraete.            *
-- *                                                                        *
-- *    Sollten Sie weitere Fragen haben, wenden Sie sich bitte an ihren    *
-- *    Hirschmann-Vertragspartner.                                         *
-- *                                                                        *
-- *    Aktuelle Hirschmann-Infos zu unseren Produkten erhalten Sie ueber   *
-- *    unseren WWW-Server unter http://www.hirschmann.com                  *
-- *                                                                        *
-- *    This is a SNMP MIB for the Hirschmann Platform devices.             *
-- *                                                                        *
-- *    If you have any further questions please contact your               *
-- *    Hirschmann contractual partner.                                     *
-- *                                                                        *
-- *    You can access current information about Hirschmann products        *
-- *    via our WWW server on http://www.hirschmann.com                     *
-- *                                                                        *
-- **************************************************************************

HMRING-MGMT-SNMP-MIB   DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, OBJECT-IDENTITY,
    IpAddress, Integer32, Unsigned32	FROM SNMPv2-SMI
    DisplayString, RowStatus            FROM SNMPv2-TC
    hmConfiguration                     FROM HMPRIV-MGMT-SNMP-MIB;   


hmRingRedundancy MODULE-IDENTITY
        LAST-UPDATED "200811181200Z" -- 18 Nov 2008 12:00:00 GMT
        ORGANIZATION "Hirschmann Automation and Control GmbH"
        CONTACT-INFO
          "Customer Support
           Postal: 
           Hirschmann Automation and Control GmbH
           Stuttgarter Str. 45-51
           72654 Neckartenzlingen
           Germany
           Tel: +49 7127 14 1981
           Web: http://www.hicomcenter.com/
           E-Mail: hicomcenter@hirschmann.com"
        DESCRIPTION
          "The Hirschmann Private Ring Redundancy MIB definitions for Platform devices."

        -- Revision history.
        REVISION
          "200811181200Z" -- 18 Nov 2008 12:00:00 GMT
        DESCRIPTION
          "Update for Multi HIPER Ring"           
        REVISION
          "200709131200Z" -- 13 Sep 2007 12:00:00 GMT
        DESCRIPTION
          "First release in SMIv2"     
        ::= { hmConfiguration 5 }


-- hirschmann    OBJECT IDENTIFIER ::= { enterprises 248 }
-- hmConfiguration    OBJECT IDENTIFIER ::= { hirschmann 14 }


--
-- common Ring Redundancy Variables  --
--

hmRingRedTable OBJECT-TYPE
                SYNTAX          SEQUENCE OF HmRingRedEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION     "This table contains variables to define
                                an entry in the ring redundancy database."
                ::= { hmRingRedundancy 1 }

hmRingRedEntry     OBJECT-TYPE
                SYNTAX          HmRingRedEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION     "The entry of the hmRingRedTable."
                INDEX           { hmRingRedPrimGroupID, hmRingRedPrimIfIndex }
                ::= { hmRingRedTable 1 }

HmRingRedEntry ::= SEQUENCE {
                hmRingRedPrimGroupID         Integer32,
                hmRingRedPrimIfIndex         Integer32,
                hmRingRedPrimIfOpState       INTEGER,
                hmRingRedRedGroupID          Integer32,
                hmRingRedRedIfIndex          Integer32,
                hmRingRedRedIfOpState        INTEGER,
                hmRingRedOperState           INTEGER,
                hmRingRedMode                INTEGER,
                hmRingRedConfigOperState     INTEGER,
                hmRingRedRecoveryDelay       INTEGER
                }

hmRingRedPrimGroupID   OBJECT-TYPE
                SYNTAX          Integer32 (1..5)
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION     "Unique index to identify the slot number of
                                the primary link port. This value is never
                                greater than hmSysGroupCapacity. Note that
                                row creation is done only by writing to
                                hmRingRedMode"
                ::= { hmRingRedEntry 1 }

hmRingRedPrimIfIndex   OBJECT-TYPE
                SYNTAX          Integer32 (1..32)
                MAX-ACCESS          read-only
                STATUS          current
                DESCRIPTION     "Interface index of the primary link.
                                Note that row creation is only done by
                                writing to hmRingRedMode"
                ::= { hmRingRedEntry 2 }

hmRingRedPrimIfOpState   OBJECT-TYPE
                SYNTAX           INTEGER {
                                 not-available(1),
                                 active(2),
                                 inactive(3)
                                 }
                MAX-ACCESS       read-only
                STATUS           current
                DESCRIPTION      "operational state of the primary interface."
                ::= { hmRingRedEntry 3 }

hmRingRedRedGroupID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION     "Unique index to identify the slot number of
                                the redundant link port. This value is never
                                greater than hmSysGroupCapacity. "
                ::= { hmRingRedEntry 4 }

hmRingRedRedIfIndex   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS          read-write
                STATUS          current
                DESCRIPTION     "Interface index of the redundant link."
                ::= { hmRingRedEntry 5 }

hmRingRedRedIfOpState   OBJECT-TYPE
                SYNTAX           INTEGER {
                                 not-available(1),
                                 active(2),
                                 inactive(3)
                                 }
                MAX-ACCESS       read-only
                STATUS           current
                DESCRIPTION      "operational state of the redundant interface."
                ::= { hmRingRedEntry 6 }

hmRingRedOperState OBJECT-TYPE
                SYNTAX           INTEGER {
                                 underCreation(1),
                                 rmActive(2),
                                 rmInactive(3),
                                 rs(4),
                                 disable(5)
                                 }
                MAX-ACCESS       read-only
                STATUS           current
                DESCRIPTION      "operational state of an entry.
                If a new entry is created by setting hmRingRedMode to create(1),
                the operState returns a value of underCreation(1).
                rmActive(2) indicates that redundancy-manager is configured 
                and a ring failure has occured.
                rmInactive(3) indicates that redundancy-manager is configured
                and ring is ok.
				 The value rs(4) is returend when hmRingRedMode is set to rs(4)."
                ::= { hmRingRedEntry 7 }

hmRingRedMode   OBJECT-TYPE
                SYNTAX          INTEGER {
                                create(1),
                                delete(2),
                                rm(3),
                                rs(4),
                                disable(5)
                                }
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION     "Desired mode of operation.
                To create, modify or deactivate an entry the value create(1)
                have to be set. delete(2) removes the entry. rm(3) and rs(4)
				activate the redundancy."
                ::= { hmRingRedEntry 8 }

hmRingRedConfigOperState OBJECT-TYPE
                SYNTAX           INTEGER {
                                 noError(1),
                                 rmConfigError(2),
                                 ringConfigError(3),
                                 anotherRM(4)
                                 }
                MAX-ACCESS       read-only
                STATUS           current
                DESCRIPTION      "Operational state of the ring configuration.
                                 
                                 rmConfigError(2) indicates that the ring is not 
                                 connected with both ringports of the redundancy 
                                 manager, one of the ring cables is connected to
                                 another port of the redundancy manager.
                                 ringConfigError(3) is returned when somewhere in 
                                 the ring a ring connection fails.
                                 anotherRM(4) indicates that another redundancy
                                 manager was detected in the same ring. In this case
                                 the redundant ring ports of these redundancy managers
                                 are blocked until only one redundancy manager remains
                                 in the ring. 

                                 Notice:  rmConfigError(2) and ringConfigError(3) 
                                 can only be detected by the redundancy manager
                                 if the redundancy manager is inactive."
                ::= { hmRingRedEntry 9 }
                
hmRingRedRecoveryDelay OBJECT-TYPE
                SYNTAX          INTEGER {
                                delay500(1),
                                delay300(2)
                                }
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION     
                "The hmRingRedRecoveryDelay with its parameter set 
                defines the maximum recovery delay of ring recovery in the HIPER Ring.
                delay500(1) specifies the parameter set for the maximum
                recovery delay of 500ms in the HIPER Ring.
                delay300(2) specifies the parameter set for the maximum
                recovery delay of 300ms in the HIPER Ring."
                DEFVAL { delay500 }
                ::= { hmRingRedEntry 10 }

--
-- Ring Coupling Variables  --
--

hmRingCouplingTable OBJECT-TYPE
                SYNTAX          SEQUENCE OF HmRingCouplingEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                "This table contains variables to define
                an entry in the ring coupling database."
                ::= { hmRingRedundancy 2 }

hmRingCouplingEntry     OBJECT-TYPE
                SYNTAX          HmRingCouplingEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION     "The entry of the hmRingCouplingTable."
                INDEX           { hmRingCplInterconnGroupID, hmRingCplInterconnIfIndex }
                ::= { hmRingCouplingTable 1 }

HmRingCouplingEntry ::= SEQUENCE {
                hmRingCplInterconnGroupID       Integer32,
                hmRingCplInterconnIfIndex       Integer32,
                hmRingCplInterconnIfOpState     INTEGER,
                hmRingCplControlGroupID         Integer32,
                hmRingCplControlIfIndex         Integer32,
                hmRingCplControlIfOpState       INTEGER,
                hmRingCplControlMode            INTEGER,
                hmRingCplPartnerIpAddr          IpAddress,
                hmRingCplPartnerInterconnGroupID   Integer32,
                hmRingCplPartnerInterconnIfIndex   Integer32,
                hmRingCplPartnerInterconnIfOpState INTEGER,
                hmRingCplOperState              INTEGER,
                hmRingCplMode                   INTEGER,
                hmRingCplRowStatus              RowStatus,
                hmRingCplConfigOperState        INTEGER,
                hmRingCplCouplingLinks          INTEGER,
				hmRingCplExtendedDiag			INTEGER,
				hmRingCplNetCoupling			INTEGER,
				hmRingCplConfigSource			INTEGER
                }

hmRingCplInterconnGroupID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Unique index to identify the slot number of
                the coupling link port. This value is never
                greater than hmSysGroupCapacity. 
                Note that row creation is done only by 
                writing to hmRingCplRowStatus."
                ::= { hmRingCouplingEntry 1 }

hmRingCplInterconnIfIndex   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Interface index of the coupling link.
                Note that only those ports can be chosen
                which do not belong to another L2 redundancy
                mechanism like ring redundancy or dual homing
                and that row creation is only done by
                writing to hmRingCplRowStatus."
                ::= { hmRingCouplingEntry 2 }

hmRingCplInterconnIfOpState   OBJECT-TYPE
                SYNTAX           INTEGER {
                                 not-connected(1),
                                 active(2),
                                 standby(3)
                                 }
                MAX-ACCESS       read-only
                STATUS           current
                DESCRIPTION
                "Operational state of the coupling interface.
                active(2) indicates that the port is switching.
                standby(3) indicates that the port is in standby mode.
                On the slave active(2) indicates that a ring coupling
                failure has occured and the port is switching.
                On the slave standby(3) indicates that the ring coupling is ok
                and the slave is in standby mode."
                ::= { hmRingCouplingEntry 3 }

hmRingCplControlGroupID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Unique index to identify the slot number of
                the control link port in case of outband-control.
                This value is never greater than hmSysGroupCapacity."
                ::= { hmRingCouplingEntry 4 }

hmRingCplControlIfIndex   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Interface index of the control link in case 
                of outband-control.
                Note that only those ports can be chosen
                which do not belong to another L2 redundancy
                mechanism like ring redundancy or dual homing
                and that row creation is only done by
                writing to hmRingCplRowStatus."
                ::= { hmRingCouplingEntry 5 }

hmRingCplControlIfOpState   OBJECT-TYPE
                SYNTAX           INTEGER {
                                 not-connected(1),
                                 active(2),
                                 standby(3)
                                 }
                MAX-ACCESS       read-only
                STATUS           current
                DESCRIPTION      
                "Operational state of the control interface in case
                of outband-control."
                ::= { hmRingCouplingEntry 6 }

hmRingCplControlMode OBJECT-TYPE
                SYNTAX           INTEGER {
                                 outband(1),
                                 inband(2),
                                 unknown(3),
                                 local(4),
                                 disable(5)
                                 }
                MAX-ACCESS       read-write
                STATUS           current
                DESCRIPTION      
                "Control mode of the ring coupling which can only be
                chosen by the slave, the master just reports his current 
                control mode. unknown(3) cannot be set.
                In outband(1) mode an additional line must connect the control
                interfaces between the two partners in the ring coupling.
                In inband(2) mode only the coupling link port is needed.
                In local(4) mode the coupling link port and the partner port are
                located on the same switch.
                disable(5) deactivates the ring coupling functionality."
                ::= { hmRingCouplingEntry 7 }

hmRingCplPartnerIpAddr OBJECT-TYPE
                SYNTAX           IpAddress
                MAX-ACCESS       read-only
                STATUS           current
                DESCRIPTION      
                "IP Address of the partner in the ring coupling."
                ::= { hmRingCouplingEntry 8 }

hmRingCplPartnerInterconnGroupID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Index identifies the slot number of the
                coupling link port of the partner in the
                ring coupling.
		This variable can only be set if the 
		hmRingCplControlMode is local(4)."
                ::= { hmRingCouplingEntry 9 }
 
hmRingCplPartnerInterconnIfIndex   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Interface index identifies the coupling link of the
                partner in the ring coupling.
		This variable can only be set if the 
		hmRingCplControlMode is local(4)."
                ::= { hmRingCouplingEntry 10 }
 
hmRingCplPartnerInterconnIfOpState   OBJECT-TYPE
                SYNTAX           INTEGER {
                                 not-connected(1),
                                 active(2),
                                 standby(3)
                                 }
                MAX-ACCESS       read-only
                STATUS           current
                DESCRIPTION      
                "Operational state of the coupling interface of the
                partner in the ring coupling.
                active(2) indicates that the partner port is switching.
                standby(3) indicates that the partner port is in standby mode."
                ::= { hmRingCouplingEntry 11 }

hmRingCplOperState OBJECT-TYPE
                 SYNTAX           INTEGER {
                                 underCreation(1),
                                 slave(2),
                                 master(3),
                                 local(4),
                                 disable(5)
                                 }
                MAX-ACCESS       read-only
                STATUS           current
                DESCRIPTION      
                "Operational state of an entry.
                If a new entry is created by setting hmRingCplRowStatus to create(1),
                the operState returns a value of underCreation(1).
                slave(2) indicates that switch is configured to be the slave of the
                ring coupling, that means the switch is in standby mode.
                master(3) indicates that a switch is configured to be 
                the master of the ring coupling.
                local(4) indicates that the switch is configured to control a ring
                coupling where the coupling port and the partner port are located
                on the same switch.
                disable(5) indicates that the ring coupling functionality is switched off."
                ::= { hmRingCouplingEntry 12 }

hmRingCplMode   OBJECT-TYPE
                SYNTAX          INTEGER {
                                slaveOff(1),
                                slaveOn(2),
                                disable(3)
                                }
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Desired mode of operation.
                slaveOn(2) activates the slave.
                slaveOff(1) deactivates the slave, the ring coupling is disabled and
                the switch acts from now in normal rs mode.
                Note that this mode can only be set if the slave is not
                activated or deactivated by a DIP-switch.                
                disable(3) indicates that the ring coupling functionality is switched off."
                ::= { hmRingCouplingEntry 13 }


hmRingCplRowStatus   OBJECT-TYPE
                SYNTAX          RowStatus
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "Defines the status of a ring coupling database entry."
                ::= { hmRingCouplingEntry 14 }

hmRingCplConfigOperState OBJECT-TYPE
                 SYNTAX          INTEGER {
                                 noError(1),
                                 slaveCouplingLinkError(2),                                 
                                 slaveControlLinkError(3),
                                 masterControlLinkError(4),
                                 twoSlaves(5),
                                 localPartnerLinkError(6),
                                 localInvalidCouplingPort(7),
                                 couplingPortNotAvailable(8),
                                 controlPortNotAvailable(9),
                                 partnerPortNotAvailable(10)
                                 }
                MAX-ACCESS       read-only
                STATUS           current
                DESCRIPTION      
                "Operational state of the ring coupling configuration.
                
                slaveCouplingLinkError(2) indicates that the coupling link 
		is not connected with the coupling port of the slave but with 
		another port of the slave.

                In case of outband control additional failures can be 
                detected:
                      slaveControlLinkError(3) indicates that the control 
                      port of the slave has either no link or the link 
                      fails.
                      masterControlLinkError(4) indicates that the control 
                      link is not connected with the control port of the 
                      master but with another port of the master.
                      twoSlaves(5) is returned when two slaves are connected                          
                      by the control line.

		localPartnerLinkError(6) indicates that the partner coupling link
		is not connected with the partner port of the slave but with 
		another port of the slave in local control mode.
		localInvalidCouplingPort(7) indicates that in local mode the coupling 
                line is connected to another switch and not on the same switch like
                the partner line.

                couplingPortNotAvailable(8), controlPortNotAvailable(9) and
                partnerPortNotAvailable(10) indicate that this port is not available
                because the module related to this port is not available or the port
                does not exist on this module."
                ::= { hmRingCouplingEntry 15 }


hmRingCplCouplingLinks   OBJECT-TYPE
                SYNTAX          INTEGER {
                                basicRedundancy(1),
                                extendedRedundancy(2)
                                }
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Maximum coupling links between two coupled rings in case of a failure
				in one of the coupled rings.

                If there is no connection starting from the switch in slave or local 
                operational state over the route of the coupled rings or nets to oneself
                the slave or the local mode want to set the coupling port in forwarding 
                after a timeout period.

		basicRedundancy(1) prevents the slave or the local mode from setting its 
                coupling port into forwarding in case of the described failure. In this 
                case the segment which is connected to this coupling port is unreachable 
                until the failure is eliminated.                

		In extendedRedundancy(2) the coupling port and the partner coupling port
		are allowed to be in forwarding."
                ::= { hmRingCouplingEntry 16 }


hmRingCplExtendedDiag OBJECT-TYPE
                 SYNTAX          INTEGER {
                                 noError(1),
                                 basicRedundancyInactive(2)
                                 }
                MAX-ACCESS       read-only
                STATUS           current
                DESCRIPTION      
                "Additional operational states detected by the slave or in local mode.
                
                basicRedundancyInactive(2) indicates that the coupling port has been
                prevented from setting into forwarding (please see description
                of hmRingCplCouplingLinks)."
                ::= { hmRingCouplingEntry 17 }

hmRingCplNetCoupling OBJECT-TYPE
                 SYNTAX          INTEGER {
                                 ringCoupling(1),
                                 netCoupling(2)
                                 }
                MAX-ACCESS       read-write
                STATUS           current
                DESCRIPTION      
                "Specifies the kind of the coupled net segment.
                If two HIPER Rings are coupled ringCoupling(1) must be used.
                In netCoupling(2) the coupled segment is no HIPER Ring topology and the 
                switches in the coupled net segment may be connected with other ports than 
                their ringports.

                Notice: if the ring coupling mechanism switches over, in ringCoupling(1) 
                only the address tables of the switches in the two coupled HIPER Rings will be 
                erased, in netCoupling(2) the address tables of all switches in the  
                coupled net will be erased."
                ::= { hmRingCouplingEntry 18 }

hmRingCplConfigSource   OBJECT-TYPE
                SYNTAX          INTEGER {
                					dipSwitch(1),
                					management(2) }
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Returns the Source by which the feature is controlled."
                ::= { hmRingCouplingEntry 19 }


--
-- MRP Variables  --
--

hmMrpTable OBJECT-TYPE
                SYNTAX          SEQUENCE OF HmMrpEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                "Every entry in this table contains information about
                a Media Redundancy Protocol (MRP) domain."
                ::= { hmRingRedundancy 3 }

hmMrpEntry     OBJECT-TYPE
                SYNTAX          HmMrpEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION 
                "An entry in the hmMrpTable."
                INDEX           { IMPLIED hmMrpDomainID }
                ::= { hmMrpTable 1 }

HmMrpEntry ::= SEQUENCE {
				hmMrpDomainID    	OCTET STRING,
				hmMrpRingport1GroupID	Integer32,
				hmMrpRingport1IfIndex	Integer32,
				hmMrpRingport1OperState		INTEGER,
				hmMrpRingport2GroupID	Integer32,
				hmMrpRingport2IfIndex	Integer32,
				hmMrpRingport2OperState		INTEGER,
				hmMrpVlanID			Integer32,
				hmMrpExpectedRole	INTEGER,
				hmMrpMRCLinkDownInterval	Integer32,
				hmMrpMRCLinkUpInterval	Integer32,
				hmMrpMRCLinkChangeCount	Integer32,
				hmMrpMRCBlockedSupported	INTEGER,
				hmMrpMRMPriority	Integer32,
				hmMrpMRMTopologyChangeInterval	Integer32,
				hmMrpMRMTopologyChangeRepeatCount	Integer32,
				hmMrpMRMShortTestInterval	Integer32,
				hmMrpMRMDefaultTestInterval	Integer32,
				hmMrpMRMTestMonitoringCount	Integer32,
				hmMrpMRMNonBlockingMRCSupported	INTEGER,
				hmMrpMRMTestMonitoringExtendedCount	Integer32,
				hmMrpMRMReactOnLinkChange	INTEGER,
				hmMrpMRMCheckMediaRedundancy	INTEGER,
				hmMrpMRMRealRoleState	INTEGER,
				hmMrpMRMRealRingState	INTEGER,
				hmMrpRowStatus	RowStatus,
				hmMrpRedOperState	INTEGER,
				hmMrpConfigOperState	INTEGER,
				hmMrpDomainName    	DisplayString,
				hmMrpMRMRecoveryDelay	INTEGER
                }

hmMrpDomainID   OBJECT-TYPE
                SYNTAX          OCTET STRING (SIZE(16))
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                "Universally unique identifier belongs to the MRP domain
                which represents a ring."
                ::= { hmMrpEntry 1 }

hmMrpRingport1GroupID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Unique index to identify the slot number of the ringport 1 in the 
                MRP domain. 
                This value is never greater than hmSysGroupCapacity."
                ::= { hmMrpEntry 2 }

hmMrpRingport1IfIndex   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Interface index of the ringport 1 in the MRP domain."
                ::= { hmMrpEntry 3 }

hmMrpRingport1OperState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					disabled(1),
                					blocked(2),
                					forwarding(3),
                					not-connected(4)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of ringport 1.
                disabled(1) indicates that all frames are dropped.
                blocked(2) indicates that all frame are dropped except
                	- MRP topology change frames and MRP test frames from a MRM,
                	- MRP link change frames from a MRC,
                	- frames from other protocols that also define to pass
                	  blocked(2) ports.
                forwarding(3) indicates that all frames are passed through
                according to the forwarding behavior of IEEE 802.1D.
                not-connected(4) indicates that the port has no link."
                ::= { hmMrpEntry 4 }

hmMrpRingport2GroupID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Unique index to identify the slot number of the ringport 2 in the 
                MRP domain. 
                This value is never greater than hmSysGroupCapacity."
                ::= { hmMrpEntry 5 }

hmMrpRingport2IfIndex   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Interface index of the ringport 2 in the MRP domain."
                ::= { hmMrpEntry 6 }

hmMrpRingport2OperState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					disabled(1),
                					blocked(2),
                					forwarding(3),
                					not-connected(4)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of ringport 2.
                disabled(1) indicates that all frames are dropped.
                blocked(2) indicates that all frame are dropped except
                	- MRP topology change frames and MRP test frames from a MRM,
                	- MRP link change frames from a MRC,
                	- frames from other protocols that also define to pass
                	  blocked(2) ports.
                forwarding(3) indicates that all frames are passed through
                according to the forwarding behavior of IEEE 802.1D.
                not-connected(4) indicates that the port has no link."
                ::= { hmMrpEntry 7 }

hmMrpVlanID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "VLAN identifier of the MRP domain."
                ::= { hmMrpEntry 8 }

hmMrpExpectedRole   OBJECT-TYPE
                SYNTAX          INTEGER {
                					client(1),
                					manager(2) 
                				}
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Control the role of the MRP entity in the MRP domain.
                If the value is set to client(1) the entity will be in the
                role of a Media Redundancy Client (MRC).
                If the value is set to manager(2) the entity will be in the
                role of a Media Redundancy Manager (MRM)."
                ::= { hmMrpEntry 9 }

hmMrpMRCLinkDownInterval   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Interval for sending link down MRP link change frames on ringports."
                ::= { hmMrpEntry 10 }

hmMrpMRCLinkUpInterval   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Interval for sending link up MRP link change frames on ringports."
                ::= { hmMrpEntry 11 }

hmMrpMRCLinkChangeCount   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "MRP link change frame count which controls repeated transmission of
                MRP link change frames."
                ::= { hmMrpEntry 12 }

hmMrpMRCBlockedSupported   OBJECT-TYPE
                SYNTAX          INTEGER {
                					enabled(1),
                					disabled(2)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Ability of the MRC to receive and forward MRP test frames, MRP link
                change frames and MRP topology change frames at a ringport whose
                port state is blocked.
                enabled(1) indicates that the MRC is able to receive and forward 
                these MRP frames at a ringport whose port state is blocked.
                disabled(2) indicates that the MRC is not able to receive and forward 
                these MRP frames at a ringport whose port state is blocked."
                ::= { hmMrpEntry 13 }

hmMrpMRMPriority   OBJECT-TYPE
                SYNTAX          Integer32 (0..65535)
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Priority of the MRM. A lower value indicates a higher priority."
                DEFVAL { 32768 }
                ::= { hmMrpEntry 14 }

hmMrpMRMTopologyChangeInterval   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Interval for sending MRP topology change frames on ringports."
                ::= { hmMrpEntry 15 }

hmMrpMRMTopologyChangeRepeatCount   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Interval count which controls repeated transmission of MRP
                topology change frames."
                ::= { hmMrpEntry 16 }

hmMrpMRMShortTestInterval   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Short interval for sending MRP test frames on ringports after
                link changes in the ring."
                ::= { hmMrpEntry 17 }

hmMrpMRMDefaultTestInterval   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Default interval for sending MRP test frames on ringports."
                ::= { hmMrpEntry 18 }

hmMrpMRMTestMonitoringCount   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Interval count for monitoring the reception of MRP test frames."
                ::= { hmMrpEntry 19 }

hmMrpMRMNonBlockingMRCSupported   OBJECT-TYPE
                SYNTAX          INTEGER {
                					enabled(1),
                					disabled(2)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Ability of the MRM to support MRC in the ring which have 
                hmMrpMRCBlockedSupported set disabled.
                enabled(1) indicates that the MRM is able to support MRC in the ring
                which have hmMrpMRCBlockedSupported set disabled.
                disabled(2) indicates that the MRM is not able to support MRC in the
                ring which have hmMrpMRCBlockedSupported set disabled."                
                ::= { hmMrpEntry 20 }

hmMrpMRMTestMonitoringExtendedCount   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Extended interval count for monitoring the reception of MRP test 
                frames.
                This value is used by the MRP if hmMrpMRMNonBlockingMRCSupported is
                is set enabled."
                ::= { hmMrpEntry 21 }

hmMrpMRMReactOnLinkChange   OBJECT-TYPE
                SYNTAX          INTEGER {
                					enabled(1),
                					disabled(2)
                				}
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Specifies whether the MRM reacts on all MRP link change frames or not.
                enabled(1) indicates that the MRM reacts on all MRP link change frames.
                disabled(2) indicates that the MRM does not react on link down MRP link change
                frames."
                ::= { hmMrpEntry 22 }

hmMrpMRMCheckMediaRedundancy   OBJECT-TYPE
                SYNTAX          INTEGER {
                					enabled(1),
                					disabled(2)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Specifies whether monitoring of MRM state is enabled or disabled
                in the redundancy domain.
                enabled(1) indicates that the MRM monitors its state.
                disabled(2) indicates that the MRM does not monitor its state."
                ::= { hmMrpEntry 23 }

hmMrpMRMRealRoleState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					client(1),
                					manager(2),
                					undefined(3)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational role of the MRP entity in the MRP domain.
                client(1) indicates that the MRP entity is in a MRC role.
                manager(2) indicates that the MRP entity is the manager MRM
                of this MRP domain.
             	undefined(3) indicates that the MRP entity doesn't work.
             	This value can only be read if hmMrpMRMCheckMediaRedundancy is set
             	enabled."
                ::= { hmMrpEntry 24 }

hmMrpMRMRealRingState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					open(1),
                					closed(2),
                					undefined(3)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Actual ring state of the redundancy domain.
                open(1) indicates that the ring is opened.
                closed(2) indicates that the ring is closed.
                undefined(3) indicates an undefined ring state or can be read if 
                hmMrpMRMRealRoleState contains the value client.
             	This value can only be read if hmMrpMRMCheckMediaRedundancy is set
             	enabled."
                ::= { hmMrpEntry 25 }

hmMrpRowStatus   OBJECT-TYPE
                SYNTAX          RowStatus
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "Defines the status of the MRP database entry."
                ::= { hmMrpEntry 26 }

hmMrpRedOperState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					redGuaranteed(1),
                					redNotGuaranteed(2)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of ring redundancy in the MRP domain.
                redGuaranteed(1) indicates that ring redundancy is guaranteed in the 
                MRP domain.
                redNotGuaranteed(2) indicates that ring redundancy is not guaranteed
                in the MRP domain."
                ::= { hmMrpEntry 27 }

hmMrpConfigOperState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					noError(1),
                					ringportLinkError(2)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of the configuration in the MRP domain.
                noError(1) indicates that no configuration error was detected.
                ringportLinkError(2) indicates that one of the ring lines is not
                connected with one of the ring ports in the MRP domain."
                ::= { hmMrpEntry 28 }

hmMrpDomainName  OBJECT-TYPE
                SYNTAX          DisplayString
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "A logical name for the MRP domain to ease the management of MRP 
                domains."
                ::= { hmMrpEntry 29 }

hmMrpMRMRecoveryDelay   OBJECT-TYPE
                SYNTAX          INTEGER {
                					delay500(1),
                					delay200(2),
                					delay1000(3)
                				}
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "The MRM defines with its parameter set the maximum recovery
                delay of ring recovery in the MRP domain.
                delay500(1) specifies the parameter set for the maximum
                recovery delay of 500ms in the MRP domain.
                delay200(2) specifies the parameter set for the maximum
                recovery delay of 200ms in the MRP domain.
                delay1000(3) specifies the parameter set for the maximum
                recovery delay of 1000ms in the MRP domain."
                ::= { hmMrpEntry 30 }

--
-- RPC Ring Protocol Control Variables  --
--

hmRpcTable   OBJECT-TYPE
                SYNTAX          SEQUENCE OF HmRpcEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                "Every entry in this table contains information about
                a Ring Protocol Control (RPC) domain."
                ::= { hmRingRedundancy 4 }

hmRpcEntry   OBJECT-TYPE
                SYNTAX          HmRpcEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION 
                "An entry in the hmRpcTable."
                INDEX  { hmRpcRingProtocol, hmRpcRingID  }
                ::= { hmRpcTable 1 }

HmRpcEntry ::= SEQUENCE {
				hmRpcRingProtocol	INTEGER,
				hmRpcRingID		Integer32,
				hmRpcRingName	DisplayString,
				hmRpcRingport1GroupID	Integer32,
				hmRpcRingport1IfIndex	Integer32,
				hmRpcRingport1OperState	INTEGER,
				hmRpcRingport2GroupID	Integer32,
				hmRpcRingport2IfIndex	Integer32,
				hmRpcRingport2OperState	INTEGER,
				hmRpcVlanID		Integer32,
				hmRpcAdminState		INTEGER,
				hmRpcOperState	INTEGER,
				hmRpcRingOperState	INTEGER,
				hmRpcRedundancyOperState	INTEGER,
				hmRpcConfigOperState	INTEGER,
				hmRpcRowStatus	RowStatus,
				hmRpcNodes	Integer32,
				hmRpcRoundTripDelay		Unsigned32
                }

hmRpcRingProtocol   OBJECT-TYPE
                SYNTAX          INTEGER {
                					fastHiperRing(3)
                				}
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Desired version of the ring protocol in the RPC domain.
                If the value is set to FastHiperRing(3) the entity will
                run the Fast Hiper Ring protocol.

				Note: Not all entities may support all ring protocols.
                      If an entity does not support the desired protocol
                      a row in this table cannot be created for this
                      protocol."
                ::= { hmRpcEntry 1 }

hmRpcRingID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Identifier of the ring in the RPC domain."
                ::= { hmRpcEntry 2 }

hmRpcRingName   OBJECT-TYPE
                SYNTAX          DisplayString
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION     
                "Name of the ring in RPC domain."
                ::= { hmRpcEntry 3 }

hmRpcRingport1GroupID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Unique index to identify the slot number of ringport 1 
                in the RPC domain. 
                This value is never greater than hmSysGroupCapacity."
                ::= { hmRpcEntry 4 }

hmRpcRingport1IfIndex   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Interface index of ringport 1 in the RPC domain."
                ::= { hmRpcEntry 5 }

hmRpcRingport1OperState   OBJECT-TYPE
                SYNTAX	        INTEGER {
                					disabled(1),
                					blocked(2),
                					forwarding(3),
                					not-connected(4)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of ringport 1.
                disabled(1) indicates that all frames are dropped.
                blocked(2) indicates that all frames are dropped except
                	- frames used by the selected ring protocol selected 
			          which are defined to pass blocked(2) ports,
                	- frames from other protocols which are defined 
		              to pass blocked(2) ports.
                forwarding(3) indicates that all frames are passed through
                according to the forwarding behavior of IEEE 802.1D.
                not-connected(4) indicates that the port has no link."
                ::= { hmRpcEntry 6 }

hmRpcRingport2GroupID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Unique index to identify the slot number of ringport 2
                in the RPC domain. 
                This value is never greater than hmSysGroupCapacity."
                ::= { hmRpcEntry 7 }

hmRpcRingport2IfIndex   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Interface index of ringport 2 in the RPC domain."
                ::= { hmRpcEntry 8 }

hmRpcRingport2OperState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					disabled(1),
                					blocked(2),
                					forwarding(3),
                					not-connected(4)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of ringport 2.
                disabled(1) indicates that all frames are dropped.
                blocked(2) indicates that all frames are dropped except
                	- frames used by the selected ring protocol selected 
			          which are defined to pass blocked(2) ports,
                	- frames from other protocols which are defined 
		              to pass blocked(2) ports.
                forwarding(3) indicates that all frames are passed through
                according to the forwarding behavior of IEEE 802.1D.
                not-connected(4) indicates that the port has no link."
                ::= { hmRpcEntry 9 }

hmRpcVlanID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "VLAN identifier of the RPC domain. 
                If value is set to 0 no VLAN is assigned."
                ::= { hmRpcEntry 10 }

hmRpcAdminState   OBJECT-TYPE
                SYNTAX          INTEGER {
									client(1),
                					manager(2) 
                				}
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Admin state of the entity in the RPC domain.
                If the value is set to client(1) the entity will be in the
                role of a redundancy client.
                If the value is set to manager(2) the entity will be in the
                role of a redundancy manager."
                ::= { hmRpcEntry 11 }

hmRpcOperState   OBJECT-TYPE
                SYNTAX          INTEGER {
									client(1),
                					manager(2),
									disabled(3)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of the entity in the RPC domain.
                client(1) indicates that the entity is in the role of a
                redundancy client.
                manager(2) indicates that the entity is in the role of a
                redundancy manager.
                disabled(3) indicates that the protocol does not work 
                on the entity."
                ::= { hmRpcEntry 12 }

hmRpcRingOperState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					undefined(1),
									open(2),
                					closed(3)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of the ring in the RPC domain.
                undefined(1) indicates either an undefined ring state or the entity
                may have the role of a redundancy client.
                open(1) indicates that the ring is opened.
                closed(2) indicates that the ring is closed."
                ::= { hmRpcEntry 13 }

hmRpcRedundancyOperState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					redGuaranteed(1),
                					redNotGuaranteed(2)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of the ring redundancy in the RPC domain.
                redGuaranteed(1) indicates that ring redundancy is guaranteed in 
                the RPC domain.
                redNotGuaranteed(2) indicates that ring redundancy is not 
                guaranteed in the RPC domain."
                ::= { hmRpcEntry 14 }

hmRpcConfigOperState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					noError(1),
                					ringportLinkError(2),
                					singleSideReceive(3),
                					multipleRM(4)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of the configuration in the RPC domain.
                noError(1) indicates that no configuration error was detected.
                ringportLinkError(2) indicates that the ring port has no link
                or one of the ring lines is not connected with one of the ring 
                ports of the entity but to another port of the entity (this 
                may be available only if the entity has the role of a redundancy 
                manager).
                singleSideReceive(3) indicates that the redundancy manager
                receives test frames only on one ringport (only available if 
                the entity has the role of a redundancy manager).
                multipleRM(4) indicates that the redundancy manager receives 
                frames from another redundancy manager (only available if the
                entity has the role of a redundancy manager)."
                ::= { hmRpcEntry 15 }

hmRpcRowStatus   OBJECT-TYPE
                SYNTAX          RowStatus
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "Defines the status of the RPC database entry."
                ::= { hmRpcEntry 16 }

hmRpcNodes   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Manager only: number of nodes in the RPC ring."
                ::= { hmRpcEntry 17 }

hmRpcRoundTripDelay   OBJECT-TYPE
                SYNTAX          Unsigned32
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Manager only: maximum Round-Trip-Delay (in microseconds) 
                which was measured since the RowStatus of the RPC 
                domain has been set active. "
                ::= { hmRpcEntry 18 }

--
-- MHR Multi HIPER Ring Variables  --
--

hmMultiHiperRing OBJECT IDENTIFIER ::= { hmRingRedundancy 5 }

hmSrmMaxInstances   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Maximum number of supported SRM instances in the hmSrmTable."
                ::= { hmMultiHiperRing 1 }

hmSrmTable   OBJECT-TYPE
                SYNTAX          SEQUENCE OF HmSrmEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION
                "Every entry in this table contains information about
                a Sub-Ring Manager (SRM) domain in the Multi HIPER Ring."
                ::= { hmMultiHiperRing 5 }

hmSrmEntry   OBJECT-TYPE
                SYNTAX          HmSrmEntry
                MAX-ACCESS      not-accessible
                STATUS          current
                DESCRIPTION 
                "An entry in the hmSrmTable."
                INDEX  { hmSrmRingID  }
                ::= { hmSrmTable 1 }

HmSrmEntry ::= SEQUENCE {
				hmSrmRingID		Integer32,
				hmSrmRingProtocol	INTEGER,
				hmSrmRingName	DisplayString,
				hmSrmRingport1GroupID	Integer32,
				hmSrmRingport1IfIndex	Integer32,
				hmSrmRingport1OperState	INTEGER,
				hmSrmVlanID		Integer32,
				hmSrmAdminState		INTEGER,
				hmSrmOperState	INTEGER,
				hmSrmRingOperState	INTEGER,
				hmSrmRedundancyOperState	INTEGER,
				hmSrmConfigOperState	INTEGER,
				hmSrmRowStatus	RowStatus,
				hmSrmNodes	Integer32,
				hmSrmMRPDomainID   OCTET STRING,
				hmSrmPartnerMAC OCTET STRING,
				hmSrmRecoveryDelay	INTEGER
                }

hmSrmRingID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Identifier of the sub-ring in the SRM domain."
                ::= { hmSrmEntry 1 }

hmSrmRingProtocol   OBJECT-TYPE
                SYNTAX          INTEGER {
                					standardMRP(4)
                				}
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "If the value is set to standardMRP(4) the entity will run
                the MRP protocol.

				Note:	If using standardMRP(4) all clients in the sub-ring 
				        segment must run MRP according to IEC 62439."
                ::= { hmSrmEntry 2 }

hmSrmRingName   OBJECT-TYPE
                SYNTAX          DisplayString
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION     
                "Name of the sub-ring in SRM domain."
                ::= { hmSrmEntry 3 }

hmSrmRingport1GroupID   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Unique index to identify the slot number of ringport 1 
                in the SRM domain. 
                This value is never greater than hmSysGroupCapacity."
                ::= { hmSrmEntry 4 }

hmSrmRingport1IfIndex   OBJECT-TYPE
                SYNTAX          Integer32
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Interface index of ringport 1 in the SRM domain."
                ::= { hmSrmEntry 5 }

hmSrmRingport1OperState   OBJECT-TYPE
                SYNTAX	        INTEGER {
                					disabled(1),
                					blocked(2),
                					forwarding(3),
                					not-connected(4)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of ringport 1.
                disabled(1) indicates that all frames are dropped.
                blocked(2) indicates that all frames are dropped except
                	- frames used by the selected ring protocol 
			          which are defined to pass blocked(2) ports,
                	- frames from other protocols which are defined 
		              to pass blocked(2) ports.
                forwarding(3) indicates that all frames are passed through
                according to the forwarding behavior of IEEE 802.1D.
                not-connected(4) indicates that the port has no link."
                ::= { hmSrmEntry 6 }


hmSrmVlanID   OBJECT-TYPE
                SYNTAX          Integer32 (0..4042)
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "VLAN identifier of the SRM domain. 
                If value is set to 0 no VLAN is assigned."
                ::= { hmSrmEntry 7 }

hmSrmAdminState   OBJECT-TYPE
                SYNTAX          INTEGER {
									manager(1),
                					redundantManager(2),
                					singleManager(3)
                				}
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Admin state of the entity in the SRM domain.
                If the value is set to manager(1) the entity will be in the
                role of a Sub-Ring Manager in the Multi HIPER Ring.
                
                If the value is set to redundantManager(2) the entity will be
                in the role of the Sub-Ring Manager in the Multi HIPER Ring which 
                will block its ringport if the sub-ring is closed.
                
                If the value is set to singleManager(3) the entity will be
                in the role of the single-manager in the Multi HIPER Ring which 
                has both ends of a sub-ring connected and will block one of these ends
                if the sub-ring is closed. 
                Note: Two instances in the hmSrmTable are needed to build a single-manager
                      where both instances must have singleManager(3) selected.
                
                Note: The sub-ring in the Multi HIPER Ring has two managers at the same time. 
                      The redundant manager can be designated."
                ::= { hmSrmEntry 8 }

hmSrmOperState   OBJECT-TYPE
                SYNTAX          INTEGER {
									manager(1),
									redundantManager(2),
									singleManager(3),
									disabled(4)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of the entity in the SRM domain.
                manager(1) indicates that the entity is in the role of a
                Sub-Ring Manager in the Multi HIPER Ring.
                redundantManager(3) indicates that the entity is in the
                role of the Sub-Ring Manager in the Multi HIPER Ring which 
                will block its ringport if the sub-ring is closed.
                singleManager(3) indicates that the entity is in the
                role of the single manager.
                disabled(4) indicates that the protocol does not work on the entity."
                ::= { hmSrmEntry 9 }

hmSrmRingOperState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					undefined(1),
									open(2),
                					closed(3)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of the sub-ring in the SRM domain.
                undefined(1) indicates an undefined sub-ring state.
                open(2) indicates that the sub-ring is opened.
                closed(3) indicates that the sub-ring is closed."
                ::= { hmSrmEntry 10 }

hmSrmRedundancyOperState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					redGuaranteed(1),
                					redNotGuaranteed(2)
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of the ring redundancy in the SRM domain.
                redGuaranteed(1) indicates that ring redundancy is guaranteed in 
                the SRM domain.
                redNotGuaranteed(2) indicates that ring redundancy is not 
                guaranteed in the SRM domain."
                ::= { hmSrmEntry 11 }

hmSrmConfigOperState   OBJECT-TYPE
                SYNTAX          INTEGER {
                					noError(1),
                					ringportLinkError(2),
                					multipleSRM(3),
                					noPartnerManager(4),
                					concurrentVLAN(5),
                					concurrentPort(6),
                					concurrentRedundancy(7),
                					trunkMember(8),
                					sharedVLAN(9)
                					
                				}
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "Operational state of the configuration in the SRM domain.
                noError(1) indicates that no configuration error was detected.
                ringportLinkError(2) indicates that the ring port has no link
                or one of the sub-ring lines is not connected with one of the ring 
                ports of the entity but to another port of the entity.
                multipleSRM(3) indicates that the Sub-Ring Manager receives frames
                from more than one Sub-Ring Managers in the sub-ring.
                noPartnerManager(4) indicates that the Sub-Ring Manager receives 
                his own frames.
                concurrentVLAN(5) indicates that the VLAN of the SRM domain is 
                used by MRP in the basis ring.
                concurrentPort(6) indicates that the ringport of the SRM domain
                is used by another redundancy protocol.
                concurrentRedundancy(7) indicates the SRM domain is not active
                because of another active redundancy protocol.
                trunkMember(8) indicates that the ringport of the SRM domain
                is member of a trunk.
                sharedVLAN(9) indicates the SRM domain cannot be active 
                because Shared VLAN is active and MRP is used in the 
                basis ring too." 
                ::= { hmSrmEntry 12 }

hmSrmRowStatus   OBJECT-TYPE
                SYNTAX          RowStatus
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                "Defines the status of the SRM database entry."
                ::= { hmSrmEntry 13 }

hmSrmNodes   OBJECT-TYPE
                SYNTAX          Integer32 (0..65535)
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Number of nodes in the sub-ring.
                Note:  Will get neccessary if the SRM runs on a fpga."
                ::= { hmSrmEntry 14 }
                
hmSrmMRPDomainID   OBJECT-TYPE
                SYNTAX          OCTET STRING (SIZE(16))
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "Only for MRP:
                Universally unique identifier belongs to the MRP domain
                which represents a sub-ring."
                DEFVAL   { 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'H }
                ::= { hmSrmEntry 15 }
                
hmSrmPartnerMAC		OBJECT-TYPE
                SYNTAX          OCTET STRING (SIZE(6))
                MAX-ACCESS      read-only
                STATUS          current
                DESCRIPTION
                "The MAC address of the partner Sub-Ring Manager in the 
                same sub-ring domain."
                ::= { hmSrmEntry 16 }

hmSrmRecoveryDelay   OBJECT-TYPE
                SYNTAX          INTEGER {
                					delay300(1),
                					delay1000(2)
                				}
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                "The maximum recovery delay of ring recovery in the SRM domain.
                delay300(1) specifies the parameter set for the maximum
                recovery delay of 300ms in the SRM domain.
                delay1000(2) specifies the parameter set for the maximum
                recovery delay of 1000ms in the SRM domain."
                ::= { hmSrmEntry 17 }

--
-- Notifications of RingRedundancy
--
hmRingRedundancyEvent  OBJECT-IDENTITY
    STATUS  current
    DESCRIPTION "The events of hmAgent."
    ::= { hmRingRedundancy 0 }


hmRingRedReconfig  NOTIFICATION-TYPE
         OBJECTS   { hmRingRedOperState }
         STATUS    current	
         DESCRIPTION 
         "The Ring Redundancy mechanism has switched over"
	     ::= { hmRingRedundancyEvent 1 }

hmRingCplReconfig NOTIFICATION-TYPE
         OBJECTS   { hmRingCplInterconnIfOpState,hmRingCplPartnerInterconnIfOpState,hmRingCplPartnerIpAddr }
         STATUS    current
         DESCRIPTION
		 "The Ring Coupling mechanism has switched over"
	     ::= { hmRingRedundancyEvent 2 }

hmRingRedConfigChanged  NOTIFICATION-TYPE
         OBJECTS   { hmRingRedConfigOperState }
         STATUS    current         
         DESCRIPTION 
         "The configuration of the Ring Redundancy has changed."
	     ::= { hmRingRedundancyEvent 3 }
         
hmMrpReconfig  NOTIFICATION-TYPE
         OBJECTS   { hmMrpDomainID, hmMrpMRMRealRingState }
         STATUS    current
         DESCRIPTION 
         "The Media Redundancy Protocol mechanism has switched over.
         This trap is only sent if hmMrpMRMCheckMediaRedundancy is enabled."
	     ::= { hmRingRedundancyEvent 4 }

hmRpcReconfig  NOTIFICATION-TYPE
         OBJECTS   { hmRpcRingProtocol, hmRpcRingID, hmRpcRingOperState }
         STATUS    current
         DESCRIPTION 
         "The Ring Redundancy mechanism has switched over."
	     ::= { hmRingRedundancyEvent 5 }
	     
hmSrmReconfig  NOTIFICATION-TYPE
         OBJECTS   { hmSrmRingID, hmSrmRingProtocol, hmSrmRingOperState }
         STATUS    current
         DESCRIPTION 
         "The Ring Redundancy mechanism has switched over."
	     ::= { hmRingRedundancyEvent 6 }

END
