Add mib for Error Log Notification

This mib represents the openbmc ErrorLog.

Resolves openbmc/openbmc#3060

Change-Id: Id817f4a0c6e343991532cb1ed9231afee41673a2
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
diff --git a/mibs/NotificationMIB.txt b/mibs/NotificationMIB.txt
new file mode 100644
index 0000000..4af34aa
--- /dev/null
+++ b/mibs/NotificationMIB.txt
@@ -0,0 +1,115 @@
+OPENBMC-NOTIFICATION-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+    Integer32, Unsigned32, Counter64, enterprises
+        FROM SNMPv2-SMI
+    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+        FROM SNMPv2-CONF
+;
+
+obmcPhosphor MODULE-IDENTITY
+    LAST-UPDATED    "201807130000Z"
+    ORGANIZATION    "openbmc"
+    CONTACT-INFO
+        "Primary Contact: SNMP support team
+         email:  openbmc@lists.ozlabs.org"
+    DESCRIPTION
+        "This MIB module defines the notification object and the notification
+         could be of different types."
+    REVISION        "201807130000Z"
+    DESCRIPTION
+        "First draft"
+    ::= { openbmc 1 }
+
+openbmc OBJECT IDENTIFIER ::= { enterprises 49871 }
+
+obmcSystem          OBJECT IDENTIFIER ::= { obmcPhosphor 0 }
+
+obmcNotifications      OBJECT IDENTIFIER ::= { obmcSystem 0 }
+obmcNotifyObjects      OBJECT IDENTIFIER ::= { obmcSystem 1 }
+obmcNotifyConformance  OBJECT IDENTIFIER ::= { obmcSystem 2 }
+
+--
+--
+-- Conformance information
+--
+--
+obmcNotifyCompliances  OBJECT IDENTIFIER ::= { obmcNotifyConformance 1 }
+obmcNotifyGroups       OBJECT IDENTIFIER ::= { obmcNotifyConformance 2 }
+
+--
+
+obmcErrorID OBJECT-TYPE
+    SYNTAX      Unsigned32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "Error log identifier"
+    ::= { obmcNotifyObjects  1 }
+
+obmcErrorTimestamp OBJECT-TYPE
+    SYNTAX      Counter64
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "Error log timestamp"
+    ::= { obmcNotifyObjects  2 }
+
+obmcErrorSeverity OBJECT-TYPE
+    SYNTAX      Integer32
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "Error log severity"
+    ::= { obmcNotifyObjects  3 }
+
+obmcErrorMessage OBJECT-TYPE
+    SYNTAX      OCTET STRING
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+        "Error log Message"
+    ::= { obmcNotifyObjects  4 }
+
+--
+
+obmcErrorNotification NOTIFICATION-TYPE
+    OBJECTS     { obmcErrorID,
+                  obmcErrorTimestamp,
+                  obmcErrorSeverity,
+                  obmcErrorMessage }
+    STATUS      current
+    DESCRIPTION
+        "Notification about openbmc error."
+    ::= { obmcNotifications 1 }
+
+--
+
+obmcNotifyCompliance MODULE-COMPLIANCE
+    STATUS      current
+    DESCRIPTION
+        "The compliance statement for error"
+    MODULE      -- this module
+    MANDATORY-GROUPS { obmcNotifyGroup,
+                       obmcNotifyErrorDataGroup }
+    ::= { obmcNotifyCompliances 1 }
+
+obmcNotifyGroup NOTIFICATION-GROUP
+    NOTIFICATIONS   { obmcErrorNotification }
+    STATUS      current
+    DESCRIPTION
+        "A collection of notifications"
+    ::= { obmcNotifyGroups 1 }
+
+obmcNotifyErrorDataGroup OBJECT-GROUP
+    OBJECTS     { obmcErrorID,
+                  obmcErrorTimestamp,
+                  obmcErrorSeverity,
+                  obmcErrorMessage }
+    STATUS      current
+    DESCRIPTION
+        "A collection of objects providing information
+        about error log."
+    ::= { obmcNotifyGroups 2 }
+END