-------------------------------------------------------------------------------
-- ACMEPACKET-APPS.txt:  Acme Packet usbc system MIB
--
-- March 2012
--
-- Copyright (c) by Acme Packet, Inc.
-- All rights reserved.
-------------------------------------------------------------------------------

APUSBCSYS-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
        Gauge32, Integer32
                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION, DisplayString, TruthValue
                FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                FROM SNMPv2-CONF
        InetAddress, InetAddressType
            FROM INET-ADDRESS-MIB
        acmepacketMgmt
                FROM ACMEPACKET-SMI
        ApHardwareModuleFamily, ApRedundancyState, ApPhyPortType,
        ApPresence, ApServerStatus
            FROM ACMEPACKET-TC;

apUsbcSysModule  MODULE-IDENTITY
               LAST-UPDATED     "201203070000Z"
               ORGANIZATION     "Acme Packet, Inc"
               CONTACT-INFO
                        "       Customer Service
                        Postal: Acme Packet, Inc
                                100 Crosby Drive
                                Bedford, MA 01730
                                US
                        Tel:    1-781-328-4400
                        E-mail: support@acmepacket.com"
                DESCRIPTION
                        "APPS MIB for Acme Packet."
                REVISION        "201203070000Z"
                DESCRIPTION
                        "Initial version."
                ::= { acmepacketMgmt 17 }


apUsbcSysMIBObjects OBJECT IDENTIFIER ::= { apUsbcSysModule 1 }

apUsbcSysNotificationObjects OBJECT IDENTIFIER ::= { apUsbcSysModule 2 }
apUsbcSysNotifObjects OBJECT IDENTIFIER ::= { apUsbcSysNotificationObjects 1 }
apUsbcSysNotifPrefix  OBJECT IDENTIFIER ::= { apUsbcSysNotificationObjects 2 }
apUsbcSysCpuNotifications  OBJECT IDENTIFIER ::= { apUsbcSysNotifPrefix 1 0 }

-- conformance information

apUsbcSysConformance OBJECT IDENTIFIER ::= { apUsbcSysModule 3 }
apUsbcSysObjectGroups OBJECT IDENTIFIER ::= { apUsbcSysConformance 1 }
apUsbcSysNotificationGroups OBJECT IDENTIFIER ::= { apUsbcSysConformance 2 }


UsbcSysPercent ::= TEXTUAL-CONVENTION
        STATUS           current
        DESCRIPTION
                "A percentage value."
        SYNTAX          Gauge32 (0..100)

apUsbcSysObjects OBJECT IDENTIFIER ::= {apUsbcSysMIBObjects 1}

apUsbcSysCpuUtilAll     OBJECT-TYPE
        SYNTAX          UsbcSysPercent
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The percentage of total Cpu utilization."
        ::= { apUsbcSysObjects 1 }

apUsbcSysCpuCount       OBJECT-TYPE
        SYNTAX          Integer32 (0..255)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The number of cpus for this system."
        ::= {  apUsbcSysObjects 2 }

apUsbcSysCpuSpeedMHz    OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The speed in MHz of the cpus for this system."
        ::= {  apUsbcSysObjects 3 }

apUsbcSysMemSzMB        OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The number of megabytes of all cpus for this system."
        ::= {  apUsbcSysObjects 4 }

apUsbcSysMemSzGB        OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The number of gigabytes of all cpus for this system."
        ::= {  apUsbcSysObjects 5 }

apUsbcSysAppMemUtil     OBJECT-TYPE
        SYNTAX           UsbcSysPercent
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The percentage of total memory used by the applications."
        ::= {  apUsbcSysObjects 6 }

apUsbcSysKernelMemUtil  OBJECT-TYPE
        SYNTAX           UsbcSysPercent
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The perventage of total memory used by the kernel."
        ::= {  apUsbcSysObjects 7 }


apUsbcSysMyBogoMips     OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The processor speed measured in millions of instructions per
	     seond.  Calculated by the kernel at boot time."
        ::= { apUsbcSysObjects 8 }

apUsbcSysAllBogoMips    OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The sum of all bogo mips(millions of instrctuctions per second)
             of all cpus for this system."
        ::= {  apUsbcSysObjects 9 }

apUsbcSysCpuTblObjects OBJECT IDENTIFIER ::= { apUsbcSysObjects 10 }

apUsbcSysCpuTable       OBJECT-TYPE
        SYNTAX          SEQUENCE OF UsbcSysCpuEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A read-only table to hold nformation for a cpu indexed by
            the cpu numberi + 1."
        ::= { apUsbcSysCpuTblObjects 1  }

apUsbcSysCpuEntry       OBJECT-TYPE
        SYNTAX          UsbcSysCpuEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A entry designed to hold the status of a single Cpu."
        INDEX { apUsbcSysCpuNum }
        ::= { apUsbcSysCpuTable 1 }

UsbcSysCpuEntry ::= SEQUENCE {
        apUsbcSysCpuNum      Integer32,
        apUsbcSysCpuUtil     UsbcSysPercent
        }

apUsbcSysCpuNum         OBJECT-TYPE
        SYNTAX          Integer32 (0..255)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The cpu number + 1 of this entry."
        ::= { apUsbcSysCpuEntry 1 }

apUsbcSysCpuUtil        OBJECT-TYPE
        SYNTAX          UsbcSysPercent
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The percent of cpu utilization of this cpu."
        ::= { apUsbcSysCpuEntry 2 }


apUsbcSysGroup          OBJECT-GROUP
      OBJECTS   {
                apUsbcSysCpuUtilAll,
                apUsbcSysCpuCount,
                apUsbcSysCpuSpeedMHz,
                apUsbcSysMemSzMB,
                apUsbcSysMemSzGB,
		apUsbcSysAppMemUtil,
		apUsbcSysKernelMemUtil,
                apUsbcSysMyBogoMips,
                apUsbcSysAllBogoMips
                }
      STATUS            current
      DESCRIPTION
                "A collection of objects providing the system manager MIB
                capability."
      ::= { apUsbcSysObjectGroups 1 }


apUsbcSysCpuTblGroup    OBJECT-GROUP
        OBJECTS {
                apUsbcSysCpuNum,
                apUsbcSysCpuUtil
                }
        STATUS          current
        DESCRIPTION
                "Report information for all cpus on the system."
        ::= { apUsbcSysObjectGroups 2  }

END
