-- Copyright (C) 2017 Aricent Group . All Rights Reserved

-- $Id: smstats.mib, 2017/04/18 10:27:44 Siaemic team $

SM-STATS-MIB DEFINITIONS ::= BEGIN

IMPORTS

    MODULE-IDENTITY, OBJECT-TYPE, Integer32,
    Unsigned32, enterprises, Counter64,
    TimeTicks                   FROM SNMPv2-SMI
        
    TEXTUAL-CONVENTION          FROM SNMPv2-TC
    OBJECT-GROUP                FROM SNMPv2-CONF
    etherHistoryEntry           FROM RMON-MIB;

smStatMibs  MODULE-IDENTITY
        LAST-UPDATED "201209050000Z"
        ORGANIZATION "ARICENT COMMUNICATIONS SOFTWARE"
        CONTACT-INFO "|||||"
        DESCRIPTION 
            " The proprietary MIB for SM-OS STATS feature."

-- revision history

        REVISION "201209050000Z"
        DESCRIPTION "This MIB defines the objects. OID assign for siae 
                     is (29601.100.1)"
        ::=  { enterprises aricent-communication-holding-ltd(29601) 100 1 1} 


-- ---------------------------------  
-- TEXTUAL CONVENTION  
-- ---------------------------------

 OwnerString ::= TEXTUAL-CONVENTION
    STATUS        current
    DESCRIPTION
        "This data type is used to model an administratively
                 assigned name of the owner of a resource."
    SYNTAX        OCTET STRING (SIZE (0..127))


 EntryStatus ::= TEXTUAL-CONVENTION
    STATUS        current
    DESCRIPTION
        "The status of a table entry."
    SYNTAX        INTEGER {
                      valid(1),
                      createRequest(2),
                      underCreation(3),
                      invalid(4)
                  }

-- ---------------------------------
-- Subtree for this mib
-- ---------------------------------

  smStats      OBJECT IDENTIFIER ::= { smStatMibs 1 }
  smExtHistory OBJECT IDENTIFIER ::= { smStatMibs 2 }


pmQueueStatsTable    OBJECT-TYPE
   SYNTAX                   SEQUENCE OF PmQueueStatsEntry
   MAX-ACCESS                not-accessible
   STATUS                    current
   DESCRIPTION
      "A list of Queue Statistics for a COS Queue."
        ::= { smStats 1 }


pmQueueStatsEntry    OBJECT-TYPE
    SYNTAX                  PmQueueStatsEntry
    MAX-ACCESS              not-accessible
    STATUS                   current
    DESCRIPTION
        "A collection of Queue statistics for a particular queue."
    INDEX { pmQueueStatsIndex }
          ::= { pmQueueStatsTable 1 }

PmQueueStatsEntry ::=
    SEQUENCE {
        pmQueueStatsIndex                  Integer32,
        pmQueueStatsDataSource             OBJECT IDENTIFIER,
        pmQueueStatsQueue                  Unsigned32,
        pmQueueStatsTxPkts                 Counter64,
        pmQueueStatsTxBytes                Counter64,
        pmQueueStatsTxDiscardPkts          Counter64,
        pmQueueStatsTxDiscardBytes         Counter64,
        pmQueueStatsOwner                  OwnerString,
        pmQueueStatsStatus                 EntryStatus
    }

pmQueueStatsIndex          OBJECT-TYPE
     SYNTAX                Integer32 (1..65535)
     MAX-ACCESS            read-only
     STATUS                current
     DESCRIPTION
         "The value of this object uniquely identifies this
          Stats entry."
         ::= { pmQueueStatsEntry 1 }

pmQueueStatsDataSource      OBJECT-TYPE
     SYNTAX                 OBJECT IDENTIFIER
     MAX-ACCESS             read-create
     STATUS                 current
     DESCRIPTION
         "This object identifies the source of the data that
          this Stats entry is configured to analyze."
         ::= { pmQueueStatsEntry 2 }

pmQueueStatsQueue         OBJECT-TYPE
    SYNTAX                Unsigned32 (1..65535)
    MAX-ACCESS            read-create
    STATUS                current
    DESCRIPTION
        "The COSQ for which the statistics is being collected."
        ::= { pmQueueStatsEntry 3 }

pmQueueStatsTxPkts        OBJECT-TYPE
    SYNTAX                Counter64
    MAX-ACCESS            read-only
    STATUS                current
    DESCRIPTION 
        "Number of packets transmitted from this CoS Queue."
        ::= { pmQueueStatsEntry 4 }

pmQueueStatsTxBytes      OBJECT-TYPE
    SYNTAX               Counter64
    MAX-ACCESS           read-only
    STATUS               current
    DESCRIPTION
        "Number of bytes transmitted from this CoS Queue."
        ::= { pmQueueStatsEntry 5 }

pmQueueStatsTxDiscardPkts   OBJECT-TYPE
    SYNTAX                  Counter64
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
        "Number of packets discarded from this CoS Queue."
        ::= { pmQueueStatsEntry 6 }

pmQueueStatsTxDiscardBytes   OBJECT-TYPE
    SYNTAX                   Counter64
    MAX-ACCESS               read-only
    STATUS                   current
    DESCRIPTION
        "Number of bytes discarded from this CoS Queue."
        ::= { pmQueueStatsEntry 7 }

pmQueueStatsOwner         OBJECT-TYPE
    SYNTAX                OwnerString
    MAX-ACCESS            read-create
    STATUS                current
    DESCRIPTION
        "The entity that configured this entry and is therefore
         using the resources assigned to it."
        ::= { pmQueueStatsEntry 8 }

pmQueueStatsStatus OBJECT-TYPE
      SYNTAX              EntryStatus
      MAX-ACCESS          read-create
      STATUS              current
      DESCRIPTION
          "The status of this etherStats entry."
          ::= { pmQueueStatsEntry 9 }

-- History Control Entry

pmQueueHistoryControlTable OBJECT-TYPE
     SYNTAX         SEQUENCE OF PmQueueHistoryControlEntry
     MAX-ACCESS     not-accessible
     STATUS         current
     DESCRIPTION
        "A list of history control entries."
        ::= { smStats 2 }

 pmQueueHistoryControlEntry OBJECT-TYPE
      SYNTAX        PmQueueHistoryControlEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "A list of parameters that set up a periodic sampling of
           statistics."
      INDEX { pmQueueHistoryControlIndex }
          ::= { pmQueueHistoryControlTable 1 }

PmQueueHistoryControlEntry ::= SEQUENCE {
     pmQueueHistoryControlIndex             Integer32,
     pmQueueHistoryControlQueue             Unsigned32,
     pmQueueHistoryControlDataSource        OBJECT IDENTIFIER,
     pmQueueHistoryControlBucketsRequested  Integer32,
     pmQueueHistoryControlBucketsGranted    Integer32,
     pmQueueHistoryControlInterval          Integer32,
     pmQueueHistoryControlOwner             OwnerString,
     pmQueueHistoryControlPersistence       INTEGER,
     pmQueueHistoryControlStatus            EntryStatus
 }

pmQueueHistoryControlIndex OBJECT-TYPE
    SYNTAX         Integer32 (1..65535)
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
        "An index that uniquely identifies an entry in the
         historyControl table."
        ::= { pmQueueHistoryControlEntry 1 }

pmQueueHistoryControlQueue OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "The queue for which the history  is being maintained."
        ::= { pmQueueHistoryControlEntry 2 }

pmQueueHistoryControlDataSource OBJECT-TYPE
    SYNTAX         OBJECT IDENTIFIER
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "This object identifies the source of the data for
         which historical data is collected."
        ::= { pmQueueHistoryControlEntry 3 }

pmQueueHistoryControlBucketsRequested OBJECT-TYPE
    SYNTAX         Integer32 (1..65535)
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
        "The requested number of discrete time intervals
         over which data is to be saved in the part of the
         media-specific table."
    DEFVAL { 50 }
        ::= { pmQueueHistoryControlEntry 4 }

pmQueueHistoryControlBucketsGranted OBJECT-TYPE
    SYNTAX         Integer32 (1..65535)
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
        "The number of discrete sampling intervals
         over which data shall be saved in the part of
         the media-specific table."
        ::= { pmQueueHistoryControlEntry 5 }

pmQueueHistoryControlInterval OBJECT-TYPE
    SYNTAX        Integer32 (1..3600)
    UNITS         "Seconds"
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "The interval in seconds over which the data is
         sampled for each bucket in the part of the
         media-specific table."
    DEFVAL { 1800 }
        ::= { pmQueueHistoryControlEntry 6 }

pmQueueHistoryControlOwner OBJECT-TYPE
      SYNTAX        OwnerString
      MAX-ACCESS    read-create
      STATUS        current
      DESCRIPTION
          "The entity that configured this entry and is therefore
           using the resources assigned to it."
      ::= { pmQueueHistoryControlEntry 7 }

pmQueueHistoryControlPersistence OBJECT-TYPE
      SYNTAX         INTEGER {disable (0), enable (2)}
      MAX-ACCESS     read-create
      STATUS         current
      DESCRIPTION
          "The persistence flag enables the history collection
           at remote over which data shall be saved."
      DEFVAL         { disable }
      ::= { pmQueueHistoryControlEntry 8 }

pmQueueHistoryControlStatus OBJECT-TYPE
      SYNTAX         EntryStatus
      MAX-ACCESS     read-create
      STATUS         current
      DESCRIPTION
          "The status of this historyControl entry."
      ::= { pmQueueHistoryControlEntry 9 }


--- Ethernet History Group

pmQueueEtherHistoryTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF PmQueueEtherHistoryEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "A list of Ethernet history entries."
      ::= { smStats 3 }

 pmQueueEtherHistoryEntry OBJECT-TYPE
      SYNTAX        PmQueueEtherHistoryEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
         "An historical sample of Ethernet statistics on a particular
          Ethernet interface."
      INDEX { pmQueueEtherHistoryIndex , pmQueueEtherHistorySampleIndex }
      ::= { pmQueueEtherHistoryTable 1 }

 PmQueueEtherHistoryEntry ::= SEQUENCE {
             pmQueueEtherHistoryIndex                 Integer32,
             pmQueueEtherHistorySampleIndex           Integer32,
             pmQueueEtherHistoryIntervalStart         TimeTicks,
             pmQueueHistoryTxPkts                     Counter64,
             pmQueueHistoryTxBytes                    Counter64,
             pmQueueHistoryTxDiscardPkts              Counter64,
             pmQueueHistoryTxDiscardBytes             Counter64
 }

 pmQueueEtherHistoryIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..65535)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The history of which this entry is a part.  The
         history identified by a particular value of this
         index is the same history as identified
         by the same value of pmQueueHistoryControlIndex."
    ::= { pmQueueEtherHistoryEntry 1 }


 pmQueueEtherHistorySampleIndex OBJECT-TYPE
    SYNTAX         Integer32 (1..2147483647)
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
        "An index that uniquely identifies the particular
         sample this entry represents among all samples.
         This index starts at 1 and increases by one
         as each new sample is taken."
    ::= { pmQueueEtherHistoryEntry 2 }

 pmQueueEtherHistoryIntervalStart OBJECT-TYPE
      SYNTAX         TimeTicks
      MAX-ACCESS     read-only
      STATUS         current
      DESCRIPTION
          "The value of sysUpTime at the start of the interval
           over which this sample was measured."
      ::= { pmQueueEtherHistoryEntry 3 }


 pmQueueHistoryTxPkts OBJECT-TYPE
      SYNTAX          Counter64
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
          "The total number of packets transmitted from this Queue."
      ::= { pmQueueEtherHistoryEntry 4 }

 pmQueueHistoryTxBytes OBJECT-TYPE
      SYNTAX           Counter64
      MAX-ACCESS       read-only
      STATUS           current
      DESCRIPTION
          "The total number of bytes transmitted from this Queue."
      ::= { pmQueueEtherHistoryEntry 5 }

 pmQueueHistoryTxDiscardPkts OBJECT-TYPE
      SYNTAX          Counter64
      MAX-ACCESS      read-only
      STATUS          current
      DESCRIPTION
         "The total number of packets discarded from this Queue."
      ::= { pmQueueEtherHistoryEntry 6 }

 pmQueueHistoryTxDiscardBytes OBJECT-TYPE
      SYNTAX         Counter64
      MAX-ACCESS     read-only
      STATUS         current
      DESCRIPTION
          "The total number of bytes discarded from this Queue."
      ::= { pmQueueEtherHistoryEntry 7 }

--- Extension for the etherHistoryTable for min and max utilization

extEtherHistoryTable OBJECT-TYPE
     SYNTAX         SEQUENCE OF ExtEtherHistoryEntry
     MAX-ACCESS     not-accessible
     STATUS         current
     DESCRIPTION
        "A list of history control entries."
        ::= { smExtHistory 1 }

 extEtherHistoryEntry OBJECT-TYPE
      SYNTAX        ExtEtherHistoryEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
          "A list of parameters that set up a periodic sampling of
           statistics."
      AUGMENTS {etherHistoryEntry}
          ::= { extEtherHistoryTable 1 }

 ExtEtherHistoryEntry ::= SEQUENCE {
     etherHistoryMinUtilization       Integer32,
     etherHistoryMaxUtilization       Integer32,
     etherHistoryTxMinUtilization     Integer32,
     etherHistoryTxMaxUtilization     Integer32
 }

 etherHistoryMinUtilization   OBJECT-TYPE
     SYNTAX        Integer32 (0..10000)
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
        "The minimum network utilization measured at every
         second of sampling interval."
    ::= { extEtherHistoryEntry  1 }

 etherHistoryMaxUtilization OBJECT-TYPE
     SYNTAX        Integer32 (0..10000)
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
        "The maximum network utilization measured at every
         second of sampling interval."
    ::= { extEtherHistoryEntry  2 }

 etherHistoryTxMinUtilization   OBJECT-TYPE
    SYNTAX        Integer32 (0..10000)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
      "The minimum network utilization measured at every
       second of sampling interval at transmit side."
    ::= { extEtherHistoryEntry 3 }

 etherHistoryTxMaxUtilization   OBJECT-TYPE
    SYNTAX        Integer32 (0..10000)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
      "The maximum network utilization measured at every
       second of sampling interval at transmit side."
    ::= { extEtherHistoryEntry 4 }
END

