-- *****************************************************************
-- CISCO-ITP-MSU-RATES-MIB: MIB for tracking MTP3 MSU rates per
-- Processor
--   
-- January 2006, John Linton, Shekhar Acharya
--   
-- Copyright (c) 2006-2007 by Cisco Systems Inc.
-- All rights reserved.
-- *****************************************************************
--   
-- ****************************************************************

CISCO-ITP-MSU-RATES-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-COMPLIANCE,
    NOTIFICATION-GROUP,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    Gauge32,
    Integer32,
    Unsigned32,
    MODULE-IDENTITY,
    NOTIFICATION-TYPE,
    OBJECT-TYPE,
    Counter32
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION,
    TimeStamp,
    TruthValue
        FROM SNMPv2-TC
    EntPhysicalIndexOrZero
        FROM CISCO-TC
    ciscoMgmt
        FROM CISCO-SMI;


ciscoItpMsuRatesMIB MODULE-IDENTITY
    LAST-UPDATED    "200702010000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems, Inc
            Customer Service

            Postal: 170 W. Tasman Drive
            San Jose, CA  95134
            USA

            Tel: +1 800 553-NETS

            E-mail: cs-ss7@cisco.com"
    DESCRIPTION
        "This MIB provides information used to manage the number
        of MTP3 MSUs transmitted and received per processor.  Many
        of the higher level protocols require several MSUs per 
        transaction.  Traffic capacity planning is based on MSUs
        not transactions.  This MIB will provide information to 
        determine current traffic.

        The Cisco IP Transfer Point (ITP) is a hardware and 
        software solution that transports SS7 traffic using
        IP.  Each ITP node provides function similar to SS7 
        signalling point.

        The relevant ITU documents describing this technology
        is the ITU Q series, including ITU Q.700: Introduction
        to CCITT Signalling System No. 7 and ITU Q.701 
        Functional description of the message transfer part
        (MTP) of Signalling System No. 7."
    REVISION        "200702010000Z"
    DESCRIPTION
        "Add cimrMsuTrafficMSUs to cimrMsuTrafficTable and create"
    REVISION        "200605310000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 529 }


-- Top-level structure of the MIB
ciscoItpMsuRatesMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoItpMsuRatesMIB 0 }

ciscoItpMsuRatesMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoItpMsuRatesMIB 1 }

ciscoItpMsuRatesMIBConform  OBJECT IDENTIFIER
    ::= { ciscoItpMsuRatesMIB 2 }

cimrScalars  OBJECT IDENTIFIER
    ::= { ciscoItpMsuRatesMIBObjects 1 }

cimrTables  OBJECT IDENTIFIER
    ::= { ciscoItpMsuRatesMIBObjects 2 }

-- *************************************************************
-- *                                                           *
-- * Textual Conventions                                       *
-- *                                                           *
-- *************************************************************

CimrMsuThreshold ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention defines a threshold used to
        monitor the rate of MSUs per second.  The zero value
        is used to indicate that value has not been specified.

        It is important to note that the MSU thresholds should
        be based on processor type, routing protocols and system
        environments."
    SYNTAX          Unsigned32 (0  |  100..4294967295 )

CimrMsuRateState ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "MSU Rate State:

        'acceptable' - traffic for a specified direction is 
                       at the acceptable level.

        'warning'    - traffic for a specified direction is 
                       has reached or exceed warning level but is below 
                       the overloaded level.

        'overloaded' - traffic for a specified direction 
                       has reached or exceeds overloaded level"
    SYNTAX          INTEGER  {
                        acceptable(1),
                        warning(2),
                        overloaded(3)
                    }

CirbhMsuTrafficDirection ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "Direction of traffic on an processor."
    SYNTAX          INTEGER  {
                        receive(1),
                        transmit(2)
                    }

CirbhMsuCurrentCount ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The value of this counter starts from zero and is
        increased when associated events occur,
        until and administrative operation in performed 
        that requires the associated objects to be cleared."
    SYNTAX          Gauge32

-- *************************************************************
-- *                                                           *
-- * Scalars                                                   *
-- *                                                           *
-- *************************************************************
cimrMsuRateSampleInterval OBJECT-TYPE
    SYNTAX          Unsigned32 (1..60 )
    UNITS           "seconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The length of the interval used to calculate MSU rate."
    DEFVAL          { 5 } 
    ::= { cimrScalars 4 }

cimrMsuRateNotifyInterval OBJECT-TYPE
    SYNTAX          Unsigned32 (0 |  60..3600 )
    UNITS           "seconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The length of the interval used to suppress
        ciscoItpMsuRcvdRateState and ciscoItpMsuSentRateState
        notifications."
    DEFVAL          { 900 } 
    ::= { cimrScalars 5 }

cimrMsuRateNotifyEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The MSU rate notification truth value.  This object
        controls the generation of ciscoItpMsuRcvdRateState
        and ciscoItpMsuSentRateState notifications.

        'true'  Indicates that the notification of MSU rates
                has been enabled. 

        'false' Indicates that the notification MSU rates 
                has been disabled."
    DEFVAL          { false } 
    ::= { cimrScalars 6 }

cimrMsuRateAcceptableThreshold OBJECT-TYPE
    SYNTAX          CimrMsuThreshold
    UNITS           "MSUs per second"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to establish a default value for all
        instances of the cimrMsuProcAcceptableThreshold object in the
        cimrMsuProcTable table.  The value for this object must be 
        less than the values specified by cimrMsuRateWarningThreshold
        and cimrMsuRateOverloadedThreshold objects.  All changes to 
        this threshold will take effect at the end of the current
        interval."
    DEFVAL          { 0 } 
    ::= { cimrScalars 7 }

cimrMsuRateWarningThreshold OBJECT-TYPE
    SYNTAX          CimrMsuThreshold
    UNITS           "MSUs per second"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to establish a default value for all
        instances of the cimrMsuProcWarningThreshold object in the
        cimrMsuProcTable table.  The value for this object must be 
        less than the values specified by 
        cimrMsuRateOverloadedThreshold and greater than 
        cimrMsuRateAcceptableThreshold objects.  All changes to 
        this threshold will take effect at the end of the current
        interval."
    DEFVAL          { 0 } 
    ::= { cimrScalars 8 }

cimrMsuRateOverloadedThreshold OBJECT-TYPE
    SYNTAX          CimrMsuThreshold
    UNITS           "MSUs per second"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to establish a default value for all
        instances of the cimrMsuProcOverloadedThreshold object in the
        cimrMsuProcTable table.  The value for this object must be 
        greater than the values specified by 
        cimrMsuRateAcceptableThreshold and 
        cimrMsuRateWarningThreshold objects.  All changes to 
        this threshold will take effect at the end of the current
        interval."
    DEFVAL          { 0 } 
    ::= { cimrScalars 9 }
-- *************************************************************
-- *                                                           *
-- * MSU Processor table                                       *
-- *                                                           *
-- *************************************************************

cimrMsuProcTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CimrMsuProcEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table provides information associated with each
        processor.  Thresholds are provided to control the 
        behavior of the following objects from the 
        cimrMsuTrafficTable table.

        -- cimrMsuTrafficRateState          
        -- cimrMsuTrafficRate               
        -- cimrMsuTrafficSize                
        -- cimrMsuProcDurWarning         
        -- cimrMsuProcDurOverloaded       

        Any changes to these thresholds will cause a reset of
        measurements which is indicated by cimrMsuProcReset
        and cimrMsuProcResetTimestamp objects.

        Notifications thresholds.
        In order to generate notifications when MSU rate switch
        states the customer must define traffic levels using the
        following objects.  When the global objects contain 
        non-zero values they will act as defaults to all entries 
        in table.  

        global:
        - cimrMsuRateAcceptableThreshold 
        - cimrMsuRateWarningThreshold    
        - cimrMsuRateOverloadedThreshold 

        Per processor: 
        - cimrMsuProcAcceptableThreshold 
        - cimrMsuProcWarningThreshold    
        - cimrMsuProcOverloadedThreshold

        The global thresholds only apply when all of the threshold
        objects at instance level are set to zero.  Set operations 
        against thresholds must be performed as single operation.

        Calculation of cimrMsuTrafficRateState object is performed in 
        the following manner to only report significant changes
        in traffic.  In order to switch to a higher state the 
        traffic rate must equal or exceed the next higher 
        threshold.  For example when current state is acceptable
        the traffic must equal or exceed value specified by 
        warning-threshold to obtain warning state.  In order to
        switch to a lower state the traffic rate must be less than
        the next lower threshold.  For example when current state 
        is overloaded the traffic must drop below warning-threshold
        to obtain warning state.

        Example:
        Acceptable-Threshold = 2000
        Warning-Threshold    = 2500
        Overloaded-Threshold = 3000

        Sample  Rate  Old State     New State
        ------  ----  ----------    ----------
             1  2000  Acceptable    Acceptable
             2  2500  Acceptable    Warning
             3  2200  Warning       Warning
             4  2000  Warning       Acceptable
             5  3000  Acceptable    Overloaded
             5  1000  Overloaded    Acceptable"
    ::= { cimrTables 1 }

cimrMsuProcEntry OBJECT-TYPE
    SYNTAX          CimrMsuProcEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry represents a processor and is updated
        at end of interval specified by the 
        cimrMsuRateSampleInterval object."
    INDEX           { cimrMsuProcIndex } 
    ::= { cimrMsuProcTable 1 }

CimrMsuProcEntry ::= SEQUENCE {
        cimrMsuProcIndex               Unsigned32,
        cimrMsuProcPhysicalIndex       EntPhysicalIndexOrZero,
        cimrMsuProcAcceptableThreshold CimrMsuThreshold,
        cimrMsuProcWarningThreshold    CimrMsuThreshold,
        cimrMsuProcOverloadedThreshold CimrMsuThreshold,
        cimrMsuProcReset               TruthValue,
        cimrMsuProcResetTimestamp      TimeStamp,
        cimrMsuProcSlotNumber          Integer32,
        cimrMsuProcBayNumber           Integer32
}

cimrMsuProcIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295 )
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An index that uniquely represents a processor.  This
        index is assigned arbitrarily by the engine and is 
        not saved over reboots." 
    ::= { cimrMsuProcEntry 1 }

cimrMsuProcPhysicalIndex OBJECT-TYPE
    SYNTAX          EntPhysicalIndexOrZero
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The entPhysicalIndex of the physical entity for which
        the MSU measurements in this entry are maintained.
        The exact type of this entity is described by its 
        entPhysicalVendorType value." 
    ::= { cimrMsuProcEntry 2 }

cimrMsuProcAcceptableThreshold OBJECT-TYPE
    SYNTAX          CimrMsuThreshold
    UNITS           "MSUs per second"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to specify a level of traffic below
        which the traffic is considered to be acceptable.  All 
        changes to this threshold will take effect at the end of the
        current interval.  The value for this object must be less 
        than the values specified by cimrMsuProcWarningThreshold
        and cimrMsuProcOverloadedThreshold objects."
    DEFVAL          { 0 } 
    ::= { cimrMsuProcEntry 3 }

cimrMsuProcWarningThreshold OBJECT-TYPE
    SYNTAX          CimrMsuThreshold
    UNITS           "MSUs per second"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to specify a level of traffic that
        indicates a rate that is above acceptable level, but is 
        below level that impacts routing of MSUs.  All changes to 
        this threshold will take effect at the end of the current
        interval.  The value for this object must be greater than  
        the values specified by cimrMsuProcAcceptableThreshold and 
        less than cimrMsuProcOverloadedThreshold objects."
    DEFVAL          { 0 } 
    ::= { cimrMsuProcEntry 4 }

cimrMsuProcOverloadedThreshold OBJECT-TYPE
    SYNTAX          CimrMsuThreshold
    UNITS           "MSUs per second"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to specify a level of traffic that
        indicates a rate that may impact routing of MSUs.  All 
        changes to this threshold will take effect at the end 
        of the current interval.  The value for this object must
        be greater than the value specified for
        cimrMsuProcAcceptableThreshold and 
        cimrMsuProcWarningThreshold objects."
    DEFVAL          { 0 } 
    ::= { cimrMsuProcEntry 5 }

cimrMsuProcReset OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object object always returns the 'false' value.
        Setting the object to 'true' resets the following 
        objects.

           cimrMsuProcDurWarning      
           cimrMsuProcDurOverloaded   
           cimrMsuTrafficMaxRate
           cimrMsuTrafficMaxRateTimestamp    
           cimrMsuDist000to009Seconds     
           cimrMsuDist010to019Seconds     
           cimrMsuDist020to029Seconds     
           cimrMsuDist030to039Seconds     
           cimrMsuDist040to049Seconds     
           cimrMsuDist050to059Seconds     
           cimrMsuDist060to069Seconds     
           cimrMsuDist070to079Seconds     
           cimrMsuDist080to089Seconds     
           cimrMsuDist090orAbove 

        In addition, the cimrMsuRateResetTimestamp is set to the
        current sysUpTime." 
    ::= { cimrMsuProcEntry 6 }

cimrMsuProcResetTimestamp OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value of sysUpTime when the measurements
        were reset by setting the cimrMsuProcReset object or
        by changing any of the following objects. 

        cimrMsuRateSampleInterval
        cimrMsuRateAcceptableThreshold,
        cimrMsuRateWarningThreshold,
        cimrMsuRateOverloadedThreshold 
        cimrMsuProcAcceptableThreshold 
        cimrMsuProcWarningThreshold    
        cimrMsuProcOverloadedThreshold 

        This object will default to the time when instance
        was created." 
    ::= { cimrMsuProcEntry 7 }

cimrMsuProcSlotNumber OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of slot contain processor and will be
        set to zero when platform does not support
        processsors in multiple slots." 
    ::= { cimrMsuProcEntry 8 }

cimrMsuProcBayNumber OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of bay contain processor and will be
        set to zero when platform does not support 
        processsors in multiple bays." 
    ::= { cimrMsuProcEntry 9 }
 

-- *************************************************************
-- *                                                           *
-- * Current Traffic MSU Rates                                 *
-- *                                                           *
-- *************************************************************

cimrMsuTrafficTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CimrMsuTrafficEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table provides information on the traffic in MUS
        for each processor in both directions.  Any MSU in which
        a processor is involved will be counted.  Here are some 
        examples of how MSUs would be counted.

        Traditional SS7 Links:
        MSU is received on Line card 1 that supports SS7 link and
        MSU is routed directly to line card 2 that supports output
        link.  Line card 1 processor information will be updated to
        indicate it received MSU  and line card 2 processor 
        information will be updated to indicate it sent MSU.

        IP/SCTP based SS7 Links:
        IP based SS7 Links can be terminated on linecard or owned 
        by the main processor.  When SS7 link is terminated on main
        processor only the main processor information will be 
        updated.  The line card processor that owns the IP interface 
        will be involved but will not be included in measurements.
        When the SS7 link is terminated on line card its processor
        information will be updated.

        It is important to note that packets exchanged for SCTP 
        associations are different from SS7 MSUs.  More than one 
        SS7 MSU can be transmitted in a single IP packet.  Also,
        the SCTP association exchanges control packets that are
        not counted as SS7 MSUs."
    ::= { cimrTables 2 }

cimrMsuTrafficEntry OBJECT-TYPE
    SYNTAX          CimrMsuTrafficEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry represents a processor traffic in a particular
        direction and is updated at end of interval specified by 
        the  cimrMsuRateSampleInterval object."
    INDEX           {
                        cimrMsuProcIndex,
                        cimrMsuTrafficDirection
                    } 
    ::= { cimrMsuTrafficTable 1 }

CimrMsuTrafficEntry ::= SEQUENCE {
        cimrMsuTrafficDirection     CirbhMsuTrafficDirection,
        cimrMsuTrafficRateState     CimrMsuRateState,
        cimrMsuTrafficRate          Gauge32,
        cimrMsuTrafficSize          Gauge32,
        cimrMsuTrafficDurWarning    CirbhMsuCurrentCount,
        cimrMsuTrafficDurOverloaded CirbhMsuCurrentCount,
        cimrMsuTrafficMaxRate       Gauge32,
        cimrMsuTrafficMaxTimestamp  TimeStamp,
        cimrMsuTrafficMSUs          Counter32
}

cimrMsuTrafficDirection OBJECT-TYPE
    SYNTAX          CirbhMsuTrafficDirection
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The direction of traffic on a processor." 
    ::= { cimrMsuTrafficEntry 1 }

cimrMsuTrafficRateState OBJECT-TYPE
    SYNTAX          CimrMsuRateState
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The state of traffic load for a particular
        direction and is calculated using the following objects.

        - cimrMsuTrafficRcvdRate
        - cimrMsuRateAcceptableThreshold 
        - cimrMsuRateWarningThreshold
        - cimrMsuRateOverloadedThreshold
        - cimrMsuTrafficAcceptableThreshold
        - cimrMsuTrafficWarningThreshold
        - cimrMsuTrafficOverloadedThreshold" 
    ::= { cimrMsuTrafficEntry 2 }

cimrMsuTrafficRate OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "MSUs per seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Rate of MSUs over the interval specified by the
        cimrMsuRateSampleInterval object." 
    ::= { cimrMsuTrafficEntry 3 }

cimrMsuTrafficSize OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "Average bytes per MSU"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The average size of MSU over the interval
        specified by the cimrMsuRateSampleInterval object." 
    ::= { cimrMsuTrafficEntry 4 }

cimrMsuTrafficDurWarning OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of seconds the cimrMsuTrafficRateState was in
        the 'warning' state." 
    ::= { cimrMsuTrafficEntry 5 }

cimrMsuTrafficDurOverloaded OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of seconds the cimrMsuTrafficRateState was in
        the 'overloaded' state." 
    ::= { cimrMsuTrafficEntry 6 }

cimrMsuTrafficMaxRate OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "MSUs per second"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Maximum value for the cimrMsuTrafficRate object since
        Setting this object to zero will clear the
        cimrMsuTrafficMaxTimestamp until the need next 
        interval information is collected." 
    ::= { cimrMsuTrafficEntry 7 }

cimrMsuTrafficMaxTimestamp OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Time and date when cimrMsuTrafficMaxRate was
        last set or zero when object was cleared." 
    ::= { cimrMsuTrafficEntry 8 }

cimrMsuTrafficMSUs OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total number of MSU handled by this processor." 
    ::= { cimrMsuTrafficEntry 9 }
 

-- *************************************************************
-- *                                                           *
-- * Distribution of MSU Rates                                 *
-- *                                                           *
-- *************************************************************

cimrMsuDistTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CimrMsuDistEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table provides distribution of MSU rates per
        processor in both the transmit and receive directions.
        The MSU rates are converted into percentages by the 
        current overloaded-threshold by the following formula:

        (MSU-Rate * 100)/overloaded-threshold

        Any value over 100 is placed in 90 to 100 range.

        Any changes to the following thresholds or setting 
        cimrMsuProcReset object to 'true' will cause 
        information in table to be reset.

        global:
        - cimrMsuRateAcceptableThreshold 
        - cimrMsuRateWarningThreshold    
        - cimrMsuRateOverloadedThreshold 

        Per processor: 
        - cimrMsuProcAcceptableThreshold 
        - cimrMsuProcWarningThreshold    
        - cimrMsuProcOverloadedThreshold

        In order for this table to contain data either the 
        cimrMsuRateOverloadedThreshold or  
        cimrMsuProcOverloadedThreshold must be set to non-zero
        value.  If both objects are zero then data is not 
        collected for this table."
    ::= { cimrTables 3 }

cimrMsuDistEntry OBJECT-TYPE
    SYNTAX          CimrMsuDistEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry represents a processor and is updated
        at end of interval specified by the 
        cimrMsuRateSampleInterval object."
    INDEX           {
                        cimrMsuProcIndex,
                        cimrMsuTrafficDirection
                    } 
    ::= { cimrMsuDistTable 1 }

CimrMsuDistEntry ::= SEQUENCE {
        cimrMsuDist000to009Seconds CirbhMsuCurrentCount,
        cimrMsuDist010to019Seconds CirbhMsuCurrentCount,
        cimrMsuDist020to029Seconds CirbhMsuCurrentCount,
        cimrMsuDist030to039Seconds CirbhMsuCurrentCount,
        cimrMsuDist040to049Seconds CirbhMsuCurrentCount,
        cimrMsuDist050to059Seconds CirbhMsuCurrentCount,
        cimrMsuDist060to069Seconds CirbhMsuCurrentCount,
        cimrMsuDist070to079Seconds CirbhMsuCurrentCount,
        cimrMsuDist080to089Seconds CirbhMsuCurrentCount,
        cimrMsuDist090orAbove      CirbhMsuCurrentCount
}

cimrMsuDist000to009Seconds OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total number of seconds during which the MSU rate
        for this processor was from 0 to 9 percent of the 
        current overloaded-threshold value." 
    ::= { cimrMsuDistEntry 1 }

cimrMsuDist010to019Seconds OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total number of seconds during which the MSU rate
        for this processor was from 10 to 19 percent of the 
        current overloaded-threshold value." 
    ::= { cimrMsuDistEntry 2 }

cimrMsuDist020to029Seconds OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total number of seconds during which the MSU rate
        for this processor was from 20 to 29 percent of the 
        current overloaded-threshold value." 
    ::= { cimrMsuDistEntry 3 }

cimrMsuDist030to039Seconds OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total number of seconds during which the MSU rate
        for this processor was from 30 to 39 percent of the 
        current overloaded-threshold value." 
    ::= { cimrMsuDistEntry 4 }

cimrMsuDist040to049Seconds OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total number of seconds during which the MSU rate
        for this processor was from 40 to 49 percent of the 
        current overloaded-threshold value." 
    ::= { cimrMsuDistEntry 5 }

cimrMsuDist050to059Seconds OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total number of seconds during which the MSU rate
        for this processor was from 50 to 59 percent of the 
        current overloaded-threshold value." 
    ::= { cimrMsuDistEntry 6 }

cimrMsuDist060to069Seconds OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total number of seconds during which the MSU rate
        for this processor was from 60 to 69 percent of the 
        current overloaded-threshold value." 
    ::= { cimrMsuDistEntry 7 }

cimrMsuDist070to079Seconds OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total number of seconds during which the MSU rate
        for this processor was from 70 to 79 percent of the 
        current overloaded-threshold value." 
    ::= { cimrMsuDistEntry 8 }

cimrMsuDist080to089Seconds OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total number of seconds during which the MSU rate
        for this processor was from 80 to 89 percent of the 
        current overloaded-threshold value." 
    ::= { cimrMsuDistEntry 9 }

cimrMsuDist090orAbove OBJECT-TYPE
    SYNTAX          CirbhMsuCurrentCount
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The total number of seconds during which the MSU rate
        for this processor was above 90 percent of the 
        current overloaded-threshold value." 
    ::= { cimrMsuDistEntry 10 }
 

-- *************************************************************
-- *                                                           *
-- * Notifications                                             *
-- *                                                           *
-- *************************************************************


ciscoItpMsuRateState NOTIFICATION-TYPE
    OBJECTS         {
                        cimrMsuTrafficRateState,
                        cimrMsuTrafficRate,
                        cimrMsuTrafficSize
                    }
    STATUS          current
    DESCRIPTION
        "This notification is generated once for the interval
        specified by the cimrMsuRateNotifyInterval object when the
        cimrMsuTrafficRateState object has the following state 
        transitions.

        'acceptable' ->  'warning'
        'acceptable' ->  'overloaded'
        'warning'    ->  'overloaded'

        At the end of the interval specified by the 
        cimrMsuRateNotifyInterval object another notification
        will be generated if the current state is 
        different from state sent in last notification even if
        the state transition is not one of the above transitions.
        When the cimrMsuRateNotifyInterval is set to zero all
        state changes will generate notifications."
   ::= { ciscoItpMsuRatesMIBNotifs 1 }
-- *************************************************************
-- *                                                           *
-- * Conformance Information                                   *
-- *                                                           *
-- *************************************************************
ciscoItpMsuRatesMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoItpMsuRatesMIBConform 1 }

ciscoItpMsuRatesMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoItpMsuRatesMIBConform 2 }


-- *****************************************************************
-- Compliance Statements
-- *****************************************************************
ciscoItpMsuRatesMIBCompliance MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which implement
        the CISCO-ITP-MSU-RATES-MIB.my MIB"
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoItpMsuRatesScalarsGroup,
                        ciscoItpMsuRatesObjects,
                        ciscoItpMsuDistObjects,
                        ciscoItpMsuRatesNotifyGroup
                    }
    ::= { ciscoItpMsuRatesMIBCompliances 1 }

ciscoItpMsuRatesMIBCompliancesRev1 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for entities which implement
        the CISCO-ITP-MSU-RATES-MIB.my MIB"
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoItpMsuRatesScalarsGroup,
                        ciscoItpMsuRatesObjects,
                        ciscoItpMsuDistObjects,
                        ciscoItpMsuRatesNotifyGroup,
                        ciscoItpMsuRatesObjectsRev1
                    }
    ::= { ciscoItpMsuRatesMIBCompliances 2 }

-- ****************************************************************
-- Units of Conformance
-- ****************************************************************
ciscoItpMsuRatesScalarsGroup OBJECT-GROUP
    OBJECTS         {
                        cimrMsuRateSampleInterval,
                        cimrMsuRateNotifyInterval,
                        cimrMsuRateNotifyEnable,
                        cimrMsuRateAcceptableThreshold,
                        cimrMsuRateWarningThreshold,
                        cimrMsuRateOverloadedThreshold
                    }
    STATUS          current
    DESCRIPTION
        "Objects used control collection MSU rates."
    ::= { ciscoItpMsuRatesMIBGroups 1 }

ciscoItpMsuRatesObjects OBJECT-GROUP
    OBJECTS         {
                        cimrMsuProcPhysicalIndex,
                        cimrMsuProcAcceptableThreshold,
                        cimrMsuProcWarningThreshold,
                        cimrMsuProcOverloadedThreshold,
                        cimrMsuProcReset,
                        cimrMsuProcResetTimestamp,
                        cimrMsuProcSlotNumber,
                        cimrMsuProcBayNumber,
                        cimrMsuTrafficRateState,
                        cimrMsuTrafficRate,
                        cimrMsuTrafficSize,
                        cimrMsuTrafficDurWarning,
                        cimrMsuTrafficDurOverloaded,
                        cimrMsuTrafficMaxRate,
                        cimrMsuTrafficMaxTimestamp
                    }
    STATUS          current
    DESCRIPTION
        "ITP MSU rates object group."
    ::= { ciscoItpMsuRatesMIBGroups 2 }

ciscoItpMsuDistObjects OBJECT-GROUP
    OBJECTS         {
                        cimrMsuDist000to009Seconds,
                        cimrMsuDist010to019Seconds,
                        cimrMsuDist020to029Seconds,
                        cimrMsuDist030to039Seconds,
                        cimrMsuDist040to049Seconds,
                        cimrMsuDist050to059Seconds,
                        cimrMsuDist060to069Seconds,
                        cimrMsuDist070to079Seconds,
                        cimrMsuDist080to089Seconds,
                        cimrMsuDist090orAbove
                    }
    STATUS          current
    DESCRIPTION
        "ITP MSU distribution object group."
    ::= { ciscoItpMsuRatesMIBGroups 3 }

ciscoItpMsuRatesNotifyGroup NOTIFICATION-GROUP
   NOTIFICATIONS    { ciscoItpMsuRateState }
    STATUS          current
    DESCRIPTION
        "ITP MSU state notification group."
    ::= { ciscoItpMsuRatesMIBGroups 4 }

ciscoItpMsuRatesObjectsRev1 OBJECT-GROUP
    OBJECTS         { cimrMsuTrafficMSUs }
    STATUS          current
    DESCRIPTION
        "ITP total MSU handled by processor."
    ::= { ciscoItpMsuRatesMIBGroups 5 }

END






