-- Copyright (C) 2008-2014 Super Micro Computer Inc. All Rights Reserved

-- $Id: fsrm.mib,v 1.21 2013/03/22 11:00:33 siva Exp $
-- RM Proprietary MIB Definition

-- This MIB explains the propreitery information implemented 
-- for RM product.

SUPERMICRO-RM-MIB DEFINITIONS ::= BEGIN

IMPORTS 
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Integer32, enterprises, Unsigned32       FROM SNMPv2-SMI
    DisplayString, TEXTUAL-CONVENTION, MacAddress, 
    TruthValue                               FROM SNMPv2-TC
    ZeroBasedCounter32                       FROM RMON2-MIB
    InetAddressIPv6                  FROM INET-ADDRESS-MIB;

---   futuresoftware OBJECT IDENTIFIER ::= { enterprises 2076 }
                                                                                
fsRmMIB MODULE-IDENTITY
    LAST-UPDATED "201209050000Z"
    ORGANIZATION "Super Micro Computer Inc."
    CONTACT-INFO "support@Supermicro.com"
    DESCRIPTION
        "The proprietary MIB module for RM. This MIB supports 1:1 
         Redundancy. "
    REVISION "201209050000Z"
    DESCRIPTION
        "The proprietary MIB module for RM. This MIB supports 1:1 
         Redundancy. "
    ::= { enterprises supermicro-computer-inc(10876) super-switch(101) basic(1) 99 }

-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------
                                                                                
FsRmState ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
            "The State of the node."
    SYNTAX INTEGER {
                 init(0),   -- Node state is INIT 
                 active(1), -- Node state is ACTIVE
                 standby(2) -- Node state is STANDBY
                 }

-- Groups
fsRmNotifications   OBJECT IDENTIFIER ::= { fsRmMIB 0 }
fsRm                OBJECT IDENTIFIER ::= { fsRmMIB 1 }
fsRmTrap            OBJECT IDENTIFIER ::= { fsRmMIB 2 }
fsRmStatistics      OBJECT IDENTIFIER ::= { fsRmMIB 3 }
fsRmTest	    OBJECT IDENTIFIER ::= { fsRmMIB 4 }
-- Scalar objects

fsRmSelfNodeId OBJECT-TYPE
    SYNTAX     InetAddressIPv6 (SIZE (16)) 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
               "The NodeId of this node"
    ::= {fsRm 1} 

fsRmPeerNodeId OBJECT-TYPE
    SYNTAX     InetAddressIPv6 (SIZE (16))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
               "The NodeId of the Peer. Currently one peer is supported. "
    ::= {fsRm 2}
 
fsRmActiveNodeId OBJECT-TYPE
    SYNTAX     InetAddressIPv6 (SIZE (16))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
               "The NodeId of the active node. Active node is elected by
                discovering the peer node Ip address and then selecting
                the node with greater Ip address. "
    ::= {fsRm 3}

fsRmNodeState OBJECT-TYPE
    SYNTAX     FsRmState
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
               "State of the node. The state of the node is decided after 
                election. Election is based on the NodeId." 
    ::= {fsRm 4} 

fsRmHbInterval OBJECT-TYPE
    SYNTAX     Integer32 (10..5000)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
               "The time interval in milli-seconds, between the Heart 
                Beat messages. This value should be 4 times lesser than
                that of PeerDead Interval. This value must be same for 
                all the nodes in the network. Default value is 500msec. 
                Allowed range of value is from 10 msec to 5 secs."
    DEFVAL { 500 }
    ::= {fsRm 5} 

fsRmPeerDeadInterval OBJECT-TYPE
    SYNTAX     Integer32 (40..20000)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
               "The number of milli-seconds that a node's Heart Beat 
                messages have not seen before declaring peer down. This 
                value should be 4 times greater than that of the Heart 
                Beat Interval. This value must be same for all nodes 
                in the network. Default value is 2 secs. Allowed range of
                value is from 40 msec to 20 secs.
                
                Note: This object is maintained only for backward 
                compatibility.

                Peer dead interval multiplier(fsRmPeerDeadIntMultiplier) 
                must be used for configuring peer dead interval.
                ie,Peer Dead Interval=fsRmHbInterval * fsRmPeerDeadIntMultiplier
                Since peer dead interval has dependency with both heart beat 
                interval and peer dead interval multiplier, Peer dead interval
                is changed whenever heart beat or peer dead interval multiplier
                is changed."
    DEFVAL { 2000 }
    ::= {fsRm 6} 

fsRmTrcLevel OBJECT-TYPE
    SYNTAX     Unsigned32 
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
             "Level of trace required for RM. 
              The levels are defined as follows:
              0x00000001 -- Init-Shut Trace.
              0x00000002 -- Management Trace.
              0x00000004 -- Data path Trace.
              0x00000008 -- Control path Trace.
              0x00000010 -- Packet dump Trace.
              0x00000020 -- OS resource Trace.
              0x00000040 -- All failure Trace.
              0x00000080 -- Buffer Trace.

              0x00010000 -- Critical Trace.
              0x00020000 -- Peer Discovery state machine Trace.
              0x00040000 -- Timer Trace.
              0x00080000 -- Socket APIs Trace.
              0x00100000 -- File Transfer Trace.
              0x00200000 -- SNMP Trace.
              0x00400000 -- Notification Trace.
              0x00800000 -- Sync-up Trace.
              0x01000000 -- Event Trace.
              0x02000000 -- Switchover Trace.
              0x04000000 -- Socket critical trace
              0x08000000 -- Sync events trace
              0x10000000 -- Sync message trace
              0x1FFFFFFF -- All Trace.

              By default critical trace and socket critical are enabled."

    DEFVAL { '04010000'H }
    ::= {fsRm 7}

fsRmForceSwitchoverFlag OBJECT-TYPE
    SYNTAX    INTEGER  {
        enable (1),
      	disable (2)
    }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
             "To force-switchover the ACTIVE node to become STANDBY, 
              this flag can be enabled. 
              This object is not saved and restored during mib 
              save-restore operation
              1. enable - Used to trigger the force-switchover
              2. disable - This state is set when the force-switchover 
              is completed and this value can only be read and 
              cannot be written.
              Configurations are blocked at ACTIVE once the 
              force-switchover is triggered and allowed only 
              after this operation is completed."
    DEFVAL { disable }  
    ::= {fsRm 8}

fsRmPeerDeadIntMultiplier OBJECT-TYPE
    SYNTAX     Integer32 (4..10)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
               "The peer dead interval is expressed as a multiple of 
                heart beat interval. This object is used to store the
                multiplier value by which the heart beat interval 
                is multiplied to get the peer dead interval.
                ie,Peer Dead Interval=fsRmHbInterval * fsRmPeerDeadIntMultiplier

                Default value is 4. Allowed range of value is from 4 to 10.
                
                During Mib save restore operation the following mib objects are
                restored in the same order as mentioned below,
                 - fsRmHbInterval
                 - fsRmPeerDeadInterval
                 - fsRmPeerDeadIntMultiplier
                
                Because of this the value of fsRmPeerDeadInterval is 
                overwritten while restoring fsRmPeerDeadIntMultiplier based on
                the heart beat interval(fsRmHbInterval) and 
                peer dead interval multiplier(fsRmPeerDeadIntMultiplier)."
    DEFVAL { 4 }
    ::= {fsRm 9} 

fsRmSwitchId OBJECT-TYPE
    SYNTAX     Integer32(0..128)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
               "Slot Number of a Switch in a Stacked environment.
                This object is applicable only for Coldstandby case."
    ::= {fsRm 10} 

fsRmConfiguredState OBJECT-TYPE
    SYNTAX     INTEGER {
               preferredmaster (1),
               backupmaster (2),
               preferredslave (3)
    }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
               "The value represents the configured/desired state
                of the switch in a Stacked environment
                  1 - Preferred Master
                  2 - Backup Master
                  3 - Preferred Slave
                
                This object is applicable only for Coldstandby case."
    ::= {fsRm 11} 

fsRmStackMacAddr OBJECT-TYPE
    SYNTAX     MacAddress 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
               "Stack Mac Address of the switch in a Stacked environment.
                This object is applicable only for Coldstandby case." 
    ::= {fsRm 12} 

fsRmPeerTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF FsRmPeerTableEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
               "RM Peer Table consists of Peer infomation in a Stacked environment.
                This table is applicable only for Coldstandby case."
    ::= { fsRm 13 }

fsRmPeerTableEntry OBJECT-TYPE
    SYNTAX       FsRmPeerTableEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
               "An entry in the table represents a peer infomation
                in a stacked environment."
    INDEX { fsRmPeerSwitchId }
    
    ::= { fsRmPeerTable 1 }

FsRmPeerTableEntry ::=
    SEQUENCE {
        fsRmPeerSwitchId 
             Integer32,
        fsRmPeerStackIpAddr
             IpAddress,
        fsRmPeerStackMacAddr
            MacAddress,
        fsRmPeerSwitchBaseMacAddr    
            MacAddress
    }

fsRmPeerSwitchId OBJECT-TYPE
    SYNTAX       Integer32(0..128)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
               "Switch identifier of a peer."
    ::= { fsRmPeerTableEntry 1 }

fsRmPeerStackIpAddr OBJECT-TYPE
    SYNTAX       IpAddress
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
               "Stacking IP address of peer switch.
                Link local address will be used as
                stack IP address."
    ::= { fsRmPeerTableEntry 2 }

fsRmPeerStackMacAddr OBJECT-TYPE
    SYNTAX       MacAddress
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
               "Stack MAC address of peer switch."
    ::= { fsRmPeerTableEntry 3 }

fsRmPeerSwitchBaseMacAddr OBJECT-TYPE
    SYNTAX       MacAddress
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
               "Ethernet address (Base MAC address) of peer."
    ::= { fsRmPeerTableEntry 4 }

fsRmStackPortCount  OBJECT-TYPE
    SYNTAX      Integer32(1..4)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
               "The object defines the number of stack ports configured
                in a device for the purpose of stacking. 
                BY default the stack port count will be zero.
                If the stack port count is zero, all higig
                ports will be used for switching/routing.
                This object is applicable only for Coldstandby case."
    ::= { fsRm 14 }

fsRmColdStandby OBJECT-TYPE
    SYNTAX    INTEGER  {
              enable (1),
              disable (2)
    }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
               "The object is for  enabling or disabling the
                coldstandby stacking support in a stacked environment.
                By default it will be disabled."
    DEFVAL { disable }
    ::= {fsRm 15}

fsRmModuleTrc OBJECT-TYPE
    SYNTAX     Unsigned32 
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
             "This object is used to enable the High Availability 
              enabled module trace. 
              Currently defined modules as follows:
              0x00000001 -- VCM module trace
              0x00000002 -- MBSM module trace
              0x00000004 -- MSR module trace
              0x00000008 -- CFA module trace
              0x00000010 -- EOAM module trace
              0x00000020 -- PNAC module trace
              0x00000040 -- LA module trace
              0x00000080 -- RSTPMSTP module trace
              0x00000100 -- VLANGARP module trace
              0x00000200 -- MRP module trace
              0x00000400 -- PBB module trace
              0x00000800 -- ECFM module trace
              0x00001000 -- ELPS module trace
              0x00002000 -- PBBTE module trace
              0x00004000 -- ELMI module trace
              0x00008000 -- SNOOP module trace
              0x00010000 -- MPLS module trace
              0x00020000 -- SNMP module trace
              0x00040000 -- LLDP module trace
              0x00080000 -- CLI module trace
              0x00100000 -- NPAPI module trace
              0x00200000 -- STATIC_CONF module trace
              0x00400000 -- RM module trace
              0x007FFFFF -- All Module traces

              By default all module traces are enabled."
    
    DEFVAL  { '007FFFFF'h }
    ::= {fsRm 16}

fsRmProtocolRestartFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
               "This object is used for enabling or disabling the restart
                of all the protocols registered with the RM, in the standby
                state, when the ISS node reaches an unpredictable state
                like configurations abort or buffer allocation failure.
                The default state is not to restart all the protocols 
                in the ISS node."
    DEFVAL { false }
    ::= {fsRm 17}

fsRmProtocolRestartRetryCnt OBJECT-TYPE
    SYNTAX     Unsigned32(0..10)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
               "This object is used to specify the maximum number of times
                the protocols in the ISS switch can be restarted 
                when the ISS node reaches an unpredictable state.
                The protocols will be restarted for the configured number 
                of times only when the fsRmProtocolRestartFlag is set as true.
                When the fsRmProtocolRestartFlag is set as true and the 
                fsRmProtocolRestartRetryCnt is configured as zero,
                the protocols will be always restarted whenever the ISS
                reaches an unpredictable state."
    DEFVAL { 3 }
    ::= {fsRm 18}

fsRmHitlessRestartFlag OBJECT-TYPE
    SYNTAX     INTEGER {
               disable(0),
               store(1),
               restore (2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
               "This object is used for hitless restart feature. Initially
                this object is set as disable (value = 0). User is allowed to
	        	configure only the value store (value = 1). When this object
                is set to store (value = 1), all the dynamic entries from
                RM supporting modules are stored and steady state packets from
                RM supporting modules are received in RM. After that, this 
                object is set to restore (value = 2) implicitly. It is 
                necessary to do the write start up configuration. This is 
                because when the ISS node restarts in hitless restart mode, 
                the restoration should happen via this object. As write start-
                up is done earlier, the restore (value = 2) persists during the 
                ISS node reboots. After restoring the dynamic configurations
		        again, this object is set to disable state (value = 0)"
    DEFVAL {disable}
    ::= {fsRm 19}

-- ********************************************************************************************
--	Test Objects for Switch over time
-- ********************************************************************************************

fsRmSwitchoverTimeTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF FsRmSwitchoverTimeEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
               "RM Switch over Table consists of the switch over time taken by every module."
    ::= { fsRmTest 1 }

fsRmSwitchoverTimeEntry OBJECT-TYPE
    SYNTAX       FsRmSwitchoverTimeEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
               "An entry in the table represents the time taken 
		by a particular module for switch over
                in a stacked environment."
    INDEX { fsRmAppId }
    
    ::= { fsRmSwitchoverTimeTable 1 }

FsRmSwitchoverTimeEntry ::=
    SEQUENCE {
        fsRmAppId 
             Integer32,
        fsRmAppName
             DisplayString,
        fsRmEntryTime
             TimeTicks,
        fsRmExitTime    
             TimeTicks,
        fsRmSwitchoverTime    
             TimeTicks
    }

fsRmAppId OBJECT-TYPE
    SYNTAX       Integer32(0..128)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
               "Application identifier for a module."
    ::= { fsRmSwitchoverTimeEntry 1 }

fsRmAppName OBJECT-TYPE
    SYNTAX       DisplayString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
               "Application name for a module."
    ::= { fsRmSwitchoverTimeEntry 2 }

fsRmEntryTime OBJECT-TYPE
    SYNTAX       TimeTicks
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
               "The entry time in milli seconds when RM has given the GO_ACTIVE 
		event to the particular module"
    ::= { fsRmSwitchoverTimeEntry 3 }

fsRmExitTime OBJECT-TYPE
    SYNTAX       TimeTicks
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
               "The exit time in milliseconds when RM has completed the GO_ACTIVE 
		event processing and returned ACK to RM"
    ::= { fsRmSwitchoverTimeEntry 4 }

fsRmSwitchoverTime OBJECT-TYPE
    SYNTAX       TimeTicks
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
               "The time taken for a particular module in milli seconds to
		complete the switch over ie. Active to Standby transition"
    ::= { fsRmSwitchoverTimeEntry 5 }

fsRmIpAddress OBJECT-TYPE
    SYNTAX            IpAddress
    MAX-ACCESS        read-write 
    STATUS            current
    DESCRIPTION
              "This object is used only if the Rm stacking interface type is
               Inband.This object is used to specify the IP Address to be used 
               for RM TCP /IP communication .

               If RM stacking interface type is Inband,a dedicated IP
               Interface will be created for RM communication and this IP 
               Address will be assigned to the Interface. 

               This value is read from NodeId File.If it is not available,
               Default Value will be added  with the switch ID plus one to 
               calculate the IP Address .A link local IP Address 169.254.1.1 
               is used as the Default IP Address.
          
               Configuring this object  will result in updation to nodeid file.
               The configured value will take effect in ISS on next reboot."
    DEFVAL  {'A9FE0101'h}
    ::= {fsRm 20}
      

fsRmSubnetMask OBJECT-TYPE
    SYNTAX            IpAddress
    MAX-ACCESS        read-write 
    STATUS            current
    DESCRIPTION
              "This object is used only if the Rm stacking interface type is
               Inband.This object is used to specify the Subnet Mask to be 
               associated withIP Address to be used for RM TCP /IP 
               communication.

               If RM stacking interface type is Inband,a dedicated IP
               Interface will be created for RM communication and this Subnet
               Mask will be associated to the Interface. 

               Configuring this object  will result in updation to nodeid file.
               The configured value will take effect in ISS on next reboot."
    DEFVAL  {'FF000000'h}
    ::= {fsRm 21}

fsRmStackInterface OBJECT-TYPE
   SYNTAX            DisplayString  
   MAX-ACCESS        read-write
   STATUS            current
   DESCRIPTION
             "This object is used only if the Rm stacking interface type is                                    Inband.This object is used to specify the Stacking port to be used 
              for RM TCP/IP Communication .In Total 8 stacking ports are supported
              and one of the 8 ports can be used for RM TCP / IP communication.
              This value is read from NodeId File. If the value is specified as
              STK0 in the file, it is interpreted as first stacking port to be 
              used.

              Configuring this object  will result in updation to nodeid file.
              The configured value will take effect in ISS on next reboot."
    ::= {fsRm 22}

-- *******************************************************************
--   Trap Definitions
-- *******************************************************************

 fsRmTrapModuleId OBJECT-TYPE
     SYNTAX       DisplayString (SIZE(1..20))
     MAX-ACCESS   accessible-for-notify
     STATUS       current
     DESCRIPTION
        "This object specifies the module identifier which generates the trap." 
     ::= { fsRmTrap 1 }
 
 fsRmTrapOperation OBJECT-TYPE
     SYNTAX       INTEGER {
                  syncUp(1),
                  switchOver(2),
                  peerAttach(3),
                  peerDetach(4),
                  hrStart(5),
                  hrStop(6)
                  }
     MAX-ACCESS   accessible-for-notify
     STATUS       current
     DESCRIPTION
         "Operations performed by the modules specified in fsRmTrapModuleId. 
          syncUp     - Synchronization operation performed by modules running
                       on standby node. 
                       i.e., standby node initiates the synchronization process
                       to keep its database to be in sync with active node.
          switchOver - Node state transition. i.e., standby to active or 
                       active to standby.
          peerAttach - When Peer switch attached with Master, Master
                       will send trap with peer information. This operation is 
                       applicable only for Coldstandby case.
          peerDetach - When Peer switch detached from Master, Master
                       will send trap with peer information. This operation is
                       applicable only for Coldstandby case.
          hrStart    - When Hitless Restart is enabled in the active node.
          hrStop     - When Hitless Restart is disabled in the active node."
     ::= { fsRmTrap 2 }
 
 fsRmTrapOperationStatus OBJECT-TYPE
     SYNTAX        INTEGER {
                  started(1),
                  completed(2),
                  failed(3)
     }
     MAX-ACCESS   accessible-for-notify
     STATUS       current
     DESCRIPTION
         "The status of operation specified by object fsRmTrapOperation."
     ::= { fsRmTrap 3 }
 
 fsRmTrapError OBJECT-TYPE
     SYNTAX        INTEGER {
                  none(1),
                  memAllocFailed(2),
                  sendFailed(3),
                  processFailed(4)
     }
     MAX-ACCESS   accessible-for-notify
     STATUS       current
     DESCRIPTION
         "The reason for the failure of particular fsRmTrapOperation. 
         The value of this object is valid only when fsRmTrapOperationStatus 
         is set to failure(3), in all other cases the value is none(1). "
     ::= { fsRmTrap 4 }
 
 fsRmTrapEventTime OBJECT-TYPE
     SYNTAX       DisplayString(SIZE(24))
     MAX-ACCESS   accessible-for-notify
     STATUS       current
     DESCRIPTION
        "This object specifies the date and time at which fsRmTrapOperation
         was performed."
     ::= { fsRmTrap 5 }

 fsRmTrapErrorStr OBJECT-TYPE
     SYNTAX       DisplayString(SIZE(0..80))
     MAX-ACCESS   accessible-for-notify
     STATUS       current
     DESCRIPTION
        "This object specifies the details of the error information in string
         format. This object is set only when fsRmTrapOperationStatus is 
         failed(3).. Contains NULL string otherwise."
     ::= { fsRmTrap 6 }

fsRmTrapSwitchId OBJECT-TYPE
     SYNTAX       Integer32(0..128)
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
         "Slot number of the switch which sends trap message.
          This objects is applicable only for Coldstandby case."
     ::= { fsRmTrap 7 }

 fsRmTrapEvent NOTIFICATION-TYPE
     OBJECTS      { 
                    fsRmSelfNodeId, 
                    fsRmNodeState, 
                    fsRmTrapModuleId,
                    fsRmTrapOperation,
                    fsRmTrapOperationStatus,
                    fsRmTrapError,
                    fsRmTrapEventTime,
                    fsRmTrapErrorStr,
                    fsRmTrapSwitchId 
                  }
     STATUS       current
     DESCRIPTION
         "This trap signifies the status of various operations 
          performed in a system with Redundancy capability.
          Standby node cannot send external traps. It forwards the 
          notification to the active node for trap generation."
     ::= { fsRmNotifications 1 }

-- *******************************************************************
--   Statistics Counters
-- *******************************************************************

--
-- TX Statistics
--

fsRmStatsSyncMsgTxCount  OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "Total number of synchronization messages successfully sent
          from ACTIVE node."
    ::= {fsRmStatistics 1}

fsRmStatsSyncMsgTxFailedCount  OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "Total number of sync-up messages failed while sending."
    ::= {fsRmStatistics 2}

--
-- RX Statistics
--

fsRmStatsSyncMsgRxCount  OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "Total number of sync-up messages received at STANDBY node."
    ::= {fsRmStatistics 3}

fsRmStatsSyncMsgProcCount OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "Total number of sync-up messages received and processed at STANDBY 
          node."
    ::= {fsRmStatistics 4}

fsRmStatsSyncMsgMissedCount OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "RM module at standby  receives and processes the synchronization 
          messages with the help of the sequence number in the message.
          In some failure cases, when the message with a particular 
          sequence number is lost, this counter is incremented."
    ::= {fsRmStatistics 5}

fsRmStatsConfSyncMsgFailCount OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "Total number of static configuration sync-up messages that have
          been failed. This counter will be incremented only if the failure
          happens after the completion of the bulk update process."
    ::= {fsRmStatistics 6}

END    
