HP-ICF-SYSLOG-MIB DEFINITIONS ::= BEGIN

    IMPORTS
       hpicfSyslog
                 FROM HP-ICF-OID
       MODULE-IDENTITY, OBJECT-TYPE,
                 Counter32, Integer32,
                 NOTIFICATION-TYPE
                 FROM SNMPv2-SMI
       RowStatus, 
       TEXTUAL-CONVENTION, TimeStamp, TruthValue
                 FROM SNMPv2-TC
       InetAddressType, InetAddress
                 FROM INET-ADDRESS-MIB
       MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                 FROM SNMPv2-CONF
       SnmpAdminString
                 FROM SNMP-FRAMEWORK-MIB;


    hpicfSyslogMIB MODULE-IDENTITY
        LAST-UPDATED "200902180000Z"  --   February 18, 2009
        ORGANIZATION "Hewlett Packard Company,
                     Procurve Networking Business"
        CONTACT-INFO
            "Hewlett-Packard Company
            8000 Foothills Blvd.
            Roseville, CA 95747"
        DESCRIPTION
            "The MIB module for configuring and 
             monitoring syslog applications.

             The Procurve syslog application sends syslog messages."

       REVISION "200902180000Z"  --   February 18, 2009
       DESCRIPTION
           "Added 'hpicfSyslogControlBindAddrIsOobm' MIB object to  
            'hpicfSyslogControlTable'. Add an enum for oobm in
            ''HpicfSyslogSystemModule'.
           "

       REVISION "200811180000Z"  --   November 18, 2008
       DESCRIPTION
           "Add 'srcip' to the available SYNTAX for 
            HpicfSyslogSystemModule.
           "

       REVISION "200807090000Z"  --   July 9, 2008
       DESCRIPTION
           "Add 'hpsm' to the available SYNTAX for 
            HpicfSyslogSystemModule.
           "

       REVISION "200806260000Z"  --   June 26, 2008
       DESCRIPTION
           "Add 'dipld' to the available SYNTAX for 
            HpicfSyslogSystemModule.
           "

       REVISION "200806250000Z"  --   June 25, 2008
       DESCRIPTION
           "Correct comments that are not clear or
            written properly.
           "

       REVISION "200801250000Z"  --   April 25, 2008
       DESCRIPTION
           "Add 'bridge' to the available SYNTAX for 
            HpicfSyslogSystemModule.
           "

       REVISION "200801011121Z"  --   January 1, 2008
       DESCRIPTION
           "The initial version."


       ::= { hpicfSyslog 1 }


   -- -------------------------------------------------------------
   -- Textual Conventions
   -- -------------------------------------------------------------

   HpicfSyslogFacility ::=  TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
           "This textual convention enumerates the facility
            of a syslog application.
           "
       SYNTAX    INTEGER
           {
              kern      (0),
              user      (1),
              mail      (2),
              daemon    (3),
              auth      (4),
              syslog    (5),
              lpr       (6),
              news      (7),
              uucp      (8),
              sys9      (9),
              sys10     (10),
              sys11     (11),
              sys12     (12),
              sys13     (13),
              sys14     (14),
              cron      (15),
              local0    (16),
              local1    (17),
              local2    (18),
              local3    (19),
              local4    (20),
              local5    (21),
              local6    (22),
              local7    (23)
           }

   HpicfSyslogSeverity ::=  TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
           "This textual convention enumerates the severity of a
            syslog application.
           "
       SYNTAX    INTEGER
           {
             major    (0),
             error    (3),
             warning  (4),
             info     (6),
             debug    (7)
           }

   HpicfSyslogSystemModule ::=  TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
           "This textual convention enumerates the system module
            (subsystem) of a syslog application.
           "
       SYNTAX    INTEGER
           {
              all-pass        (0),
              vlan            (1),
              ip              (2),
              igmp            (3),
              ipx             (4),
              stp             (5),
              system          (6),
              chassis         (7),
              console         (8),
              ports           (9),
              dhcp           (10),
              download       (11),
              tcp            (12),
              telnet         (13),
              timep          (14),
              tftp           (15),
              xmodem         (16),
              update         (17),
              mgr            (18),
              bridge         (19),
              snmp           (20),
              addrmgr        (21),
              agp            (22),
              fault          (23),
              ldbal          (24),
              garp           (25),
              gvrp           (26),
              cos            (27),
              lacp           (28),
              dhcpr          (29),
              stack          (30),
              dma            (31),
              sntp           (32),
              ieee8021x      (33),
              cdp            (34),
              auth           (35),
              tacacs         (36),
              radius         (37),
              ssh            (38),
              netinet        (39),
              ospf           (40),
              xrrp           (41),
              ssl            (42),
              ipaddrmgr      (43),
              macauth        (44),
              kms            (45),
              pim            (46),
              maclock        (47),
              acl            (48),
              udpf           (49),
              inst-mon       (50),
              udld           (51),
              hpesp          (52),
              lldp           (53),
              connfilt       (54),
              ratelim        (55),
              idm            (56),
              iplock         (57),
              dhcp-snoop     (58),
              vrrp           (59),
              usb            (60),
              licensing      (61),
              loop-protect   (62),
              sflow          (63),
              arp-protect    (64),
              dhcpv6c        (65),
              mtm            (66),
              mld            (67),
              dca            (68),
              qinq           (69),
              autorun        (70),
              ffi            (71),
              wsm            (72),
              dipld          (73),
              hpsm           (74),
	      srcip          (75),
              policy         (76),
              oobm           (77)
           }


   -- hpicfSyslogMIB - the main groups
   -- -------------------------------------------------------------

   hpicfSyslogNotifications       OBJECT IDENTIFIER
                         ::= { hpicfSyslogMIB 0 }

   hpicfSyslogObjects             OBJECT IDENTIFIER
                         ::= { hpicfSyslogMIB 1 }

   hpicfSyslogConformance         OBJECT IDENTIFIER
                         ::= { hpicfSyslogMIB 3 }


   -- -------------------------------------------------------------
   -- syslog application configuration info table
   -- -------------------------------------------------------------
   hpicfSyslogControlTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF HpicfSyslogControlEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table containing the configuration parameters
            pertaining to the hpicfSyslog applications serviced by an
            SNMP agent.
           "
       ::= { hpicfSyslogObjects 1 }

   hpicfSyslogControlEntry OBJECT-TYPE
       SYNTAX      HpicfSyslogControlEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The configuration parameters pertaining to a syslog
            application.
           "
       INDEX  { hpicfSyslogControlIndex }
       ::= { hpicfSyslogControlTable 1 }

   HpicfSyslogControlEntry ::=
       SEQUENCE {
           hpicfSyslogControlIndex
                Integer32,
           hpicfSyslogControlDescr
                SnmpAdminString,
           hpicfSyslogControlBindAddrType
                InetAddressType,
           hpicfSyslogControlBindAddr
                InetAddress,
           hpicfSyslogControlRowStatus
                RowStatus,
           hpicfSyslogControlBindAddrIsOobm
                TruthValue
        }

   hpicfSyslogControlIndex OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The Index that uniquely identifies the syslog
            application in the hpicfSyslogControlTable.  
            The value of the index for a syslog application
            may not be the same across system reboots.
            Users and applications will need to determine 
            the index of a syslog application after system 
            reboots.
            Initial implementation allows integers (1..6).
           "
       ::= { hpicfSyslogControlEntry 1 }

   hpicfSyslogControlDescr OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "A user definable description of the syslog application.
            This description could be used by syslog management
            applications e.g. in reports or in user interfaces.
            For the description to be persistent across reboots, the
            conceptual row must be in the 'active' state.
            Also, refer to note in hpicfSyslogControlRowStatus, for
            additional limitations.
           "
       ::= { hpicfSyslogControlEntry 2 }

   hpicfSyslogControlBindAddrType OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of Internet address which follows
            in hpicfSyslogControlBindAddr.
            Currently only IPv4 is supported.
           "
       ::= { hpicfSyslogControlEntry 3 }

   hpicfSyslogControlBindAddr OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The specific address the syslog sender will bind to.
            The format of the address is specified by the
            corresponding hpicfSyslogControlBindAddrType object.
           "
       ::= { hpicfSyslogControlEntry 4 }

   hpicfSyslogControlRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object is used to create, modify and delete rows in
            the hpicfSyslogControlTable.
            The value of hpicfSyslogControlDescr can be changed
            when this object is in state ''active'' or in
            ''notInService''.
            The other objects in a row can be modified only when the
            value of this object in the corresponding conceptual row
            is not ''active''. Thus to modify one or more of the
            objects in this conceptual row,
              a. change the row status to ''notInService'',
              b. change the values of the row
              c. change the row status to ''active''
            The hpicfSyslogControlRowStatus may be changed to
            ''active'' if all the managed objects in the conceptual
            row with MAX-ACCESS read-create have been assigned valid
            values.
            The information in each conceptual row is only persist
            across reboots if the row status is 'active'. 
           "
       ::= { hpicfSyslogControlEntry 5 }

   hpicfSyslogControlBindAddrIsOobm OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object indicates the specific address to which
            syslog sender will bind is on OOBM interface. This
            mib object will be applicable only if there is a
            physical OOBM port on the device.
           "
       DEFVAL      {false}
       ::= { hpicfSyslogControlEntry 6 }

   -- -------------------------------------------------------------
   -- hpicfSyslogOperations
   -- -------------------------------------------------------------
   
   hpicfSyslogOperations OBJECT IDENTIFIER
                         ::= { hpicfSyslogObjects 2 }

   hpicfSyslogOperationsMsgsTransmitted OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of messages transmitted by the syslog
            sender. This does not include the messages that could
            not be queued for transmission by the hpicfSyslog sender.
            Discontinuities in the value of this counter can
            occur at re-initialization of the management system,
            and at other times as indicated by the value of
            hpicfSyslogOperationsCounterDiscontinuityTime.
           "
       ::= { hpicfSyslogOperations 1 }

   hpicfSyslogOperationsMsgsDropped OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of messages that could not be queued
            for transmission by the syslog sender.
            Discontinuities in the value of this counter can
            occur at re-initialization of the management system,
            and at other times as indicated by the value of
            hpicfSyslogOperationsCounterDiscontinuityTime.
           "
       ::= { hpicfSyslogOperations 2 }

   hpicfSyslogOperationsLastMsgTransmittedTime OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of sysUpTime when the last message
            was transmitted by the hpicfSyslog sender.
            If no messages have been transmitted by this syslog
            application, since the last re-initialization of the local
            management subsystem, then this object will have a
            zero value.
           "
       ::= { hpicfSyslogOperations 3 }


   hpicfSyslogOperationsStartTime OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of sysUpTime when this syslog application was
            started.
           "
       ::= { hpicfSyslogOperations 4 }

   hpicfSyslogOperationsLastError OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "A description of the last error related to sending
            a syslog message that was encountered by this syslog
            application.
            If no error has been encountered by this syslog
            application then the value of this object will be a
            zero-length string.
            If no error has been encountered by this syslog
            application since the last re-initialization of the
            local management subsystem then the value of this
            object will be a zero-length string.
           "
       ::= { hpicfSyslogOperations 5 }

   hpicfSyslogOperationsLastErrorTime OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of sysUpTime when the last error was
            encountered.
            If no error has been encountered by this syslog
            application since the last re-initialization of the
            local management subsystem, then this object will
            have a zero value.
           "
       ::= { hpicfSyslogOperations 6 }

   hpicfSyslogOperationsCounterDiscontinuityTime OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
            "The value of sysUpTime on the most recent occasion
             at which any one or more of this syslog application's
             counters, viz., counters with OID prefix
             'hpicfSyslogOperationsMsgsTransmitted' or
             'hpicfSyslogOperationsMsgsDropped' suffered a
             discontinuity.
             If no such discontinuities have occurred since the
             last re-initialization of the local management
             subsystem, then this object will have a zero value.
            "
       ::= { hpicfSyslogOperations 7 }

   hpicfSyslogOperationsStatus OBJECT-TYPE
       SYNTAX       INTEGER  {
                         unknown  (1),
                         started  (2),
                         suspended(3),
                         stopped  (4)
                       }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
           "The status of the syslog application.
           "
       DEFVAL      { unknown }
       ::= { hpicfSyslogOperations 8 }

   -- -------------------------------------------------------------
   -- hpicfSyslogPriority
   -- -------------------------------------------------------------
   
   hpicfSyslogPriority             OBJECT IDENTIFIER
                         ::= { hpicfSyslogObjects 3 }


   hpicfSyslogPriorityFacility OBJECT-TYPE
       SYNTAX      HpicfSyslogFacility
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The facility value of this entry. This value will
            be returned in all syslog message, regardless of
            the process/daemon that originates the message.
           "
       DEFVAL      { user }
       ::= { hpicfSyslogPriority 1 }

   hpicfSyslogPrioritySeverity OBJECT-TYPE
       SYNTAX      HpicfSyslogSeverity
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The severity value of this entry.  Used to filter
            'event' messages.
           "
       DEFVAL      { debug }
       ::= { hpicfSyslogPriority 2 }

   hpicfSyslogPriorityDescr OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "A textual description of this priority entry.
           "
       ::= { hpicfSyslogPriority 3 }

   hpicfSyslogSystemModule OBJECT-TYPE
       SYNTAX      HpicfSyslogSystemModule
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "A system module value of this entry. Used to filter
            'event' messages.
           "
       DEFVAL      { all-pass }
       ::= { hpicfSyslogPriority 4 }

   -- -------------------------------------------------------------
   -- Notification Information
   -- -------------------------------------------------------------

   hpicfSyslogStatusChanged NOTIFICATION-TYPE
       OBJECTS   {
                    hpicfSyslogControlIndex,
                    hpicfSyslogControlDescr,
                    hpicfSyslogControlBindAddrType,
                    hpicfSyslogControlBindAddr,
                    hpicfSyslogControlRowStatus,
                    hpicfSyslogPriorityDescr,
                    hpicfSyslogPrioritySeverity,
                    hpicfSyslogPriorityFacility,
                    hpicfSyslogSystemModule,
                    hpicfSyslogOperationsStatus
                 }
       STATUS    current
       DESCRIPTION
               "This notification is sent when any of the objects
		listed are accessed.  For example, when the first server
		address is entered, the application
                starts [hpicfSyslogOperationsStatus is ''started'' ].  When
		the last server address is removed, the syslog application 
		stops [hpicfSyslogOperationsStatus is ''stopped''].
                The value of hpicfSyslogOperationsStatus will be the
                new status of the syslog application after the change.
		Another example, when a server address is added, a
		notification is sent indicating the index used to store
		the row information, as well as the address type,
		the address itself, the description if given , and the
		row status.
               "
       ::= { hpicfSyslogNotifications 1 }


   -- -------------------------------------------------------------
   -- Conformance Information
   -- -------------------------------------------------------------

   hpicfSyslogGroups OBJECT IDENTIFIER
                             ::= { hpicfSyslogConformance 1 }

   hpicfSyslogCompliances OBJECT IDENTIFIER
                             ::= { hpicfSyslogConformance 2 }

   -- -------------------------------------------------------------
   -- units of conformance
   -- -------------------------------------------------------------

   hpicfSyslogOperationsGroup OBJECT-GROUP
       OBJECTS {
                   hpicfSyslogOperationsMsgsTransmitted,
                   hpicfSyslogOperationsMsgsDropped,
                   hpicfSyslogOperationsLastMsgTransmittedTime,
                   hpicfSyslogOperationsStartTime,
                   hpicfSyslogOperationsLastError,
                   hpicfSyslogOperationsLastErrorTime,
                   hpicfSyslogOperationsCounterDiscontinuityTime,
                   hpicfSyslogOperationsStatus
               }
       STATUS  current
       DESCRIPTION
           "A collection of objects providing message related
            statistics."
       ::= { hpicfSyslogGroups 1}

   hpicfSyslogControlGroup OBJECT-GROUP
       OBJECTS {
                   hpicfSyslogControlDescr,
                   hpicfSyslogControlBindAddrType,
                   hpicfSyslogControlBindAddr,
                   hpicfSyslogControlRowStatus
               }
       STATUS  current
       DESCRIPTION
           "A collection of objects representing the run time
            parameters for the syslog applications.
           "
       ::= { hpicfSyslogGroups 2}

   hpicfSyslogPriorityGroup OBJECT-GROUP
       OBJECTS {
                   hpicfSyslogPriorityDescr
               }
       STATUS  current
       DESCRIPTION
           "A collection of objects representing the priority
            groupings of hpicfSyslog messages.
           "
       ::= { hpicfSyslogGroups 3}

   hpicfSyslogNotificationGroup NOTIFICATION-GROUP
       NOTIFICATIONS {
                   hpicfSyslogStatusChanged
               }
       STATUS  current
       DESCRIPTION
           "A collection of notifications about the operational
            state of a syslog application.
           "
       ::= { hpicfSyslogGroups 5}

   hpicfSyslogControlGroupOobm OBJECT-GROUP
       OBJECTS {
                   hpicfSyslogControlBindAddr,
                   hpicfSyslogControlBindAddrIsOobm
               }
       STATUS  current
       DESCRIPTION
           "A collection of objects representing the run time
            parameters for the OOBM aware syslog applications.
           "
       ::= { hpicfSyslogGroups 6}

   -- -------------------------------------------------------------
   -- compliance statements
   -- -------------------------------------------------------------

   hpicfSyslogFullCompliance1 MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
           "The compliance statement for SNMP entities which
            implement the SYSLOG-MIB with support for writable
            objects and notifications. Such an implementation can
            be both monitored and configured via SNMP. It can
            also send notifications about change in the
            operational status of the syslog application.
           "
       MODULE -- this module
       MANDATORY-GROUPS {
           hpicfSyslogNotificationGroup,
           hpicfSyslogOperationsGroup,
           hpicfSyslogControlGroup,
           hpicfSyslogPriorityGroup
       }

       ::= { hpicfSyslogCompliances 1 }

   hpicfSyslogFullCompliance2 MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
           "The compliance statement for SNMP entities which
            implement the SYSLOG-MIB with support for writable
            objects. Such an implementation can
            be both monitored and configured via SNMP.
           "
       MODULE -- this module
       MANDATORY-GROUPS {
           hpicfSyslogOperationsGroup,
           hpicfSyslogControlGroup,
           hpicfSyslogPriorityGroup
       }

       ::= { hpicfSyslogCompliances 2 }

   hpicfSyslogReadOnlyCompliance1 MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
           "The compliance statement for SNMP entities which
            implement the hpicfSyslog MIB without support
            for read-write (i.e. in read-only mode). It can
            also send notifications about change in the
            operational status of the syslog application.
           "
       MODULE -- this module
       MANDATORY-GROUPS {
           hpicfSyslogNotificationGroup,
           hpicfSyslogOperationsGroup,
           hpicfSyslogControlGroup,
           hpicfSyslogPriorityGroup
       }

       OBJECT  hpicfSyslogControlDescr
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required.
           "
       OBJECT  hpicfSyslogControlBindAddrType
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required.
           "
       OBJECT  hpicfSyslogControlBindAddr
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required.
           "
       OBJECT  hpicfSyslogControlRowStatus
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required.
           "

       ::= { hpicfSyslogCompliances 4 }

   hpicfSyslogReadOnlyCompliance2 MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
           "The compliance statement for SNMP entities which
            implement the hpicfSyslog MIB without support
            for read-write (i.e. in read-only mode).
           "
       MODULE -- this module
       MANDATORY-GROUPS {
           hpicfSyslogOperationsGroup,
           hpicfSyslogControlGroup,
           hpicfSyslogPriorityGroup
       }

       OBJECT  hpicfSyslogControlDescr
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required.
           "
       OBJECT  hpicfSyslogControlBindAddrType
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required.
           "
       OBJECT  hpicfSyslogControlBindAddr
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required.
           "
       OBJECT  hpicfSyslogControlRowStatus
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required.
           "
       OBJECT  hpicfSyslogPriorityDescr
       MIN-ACCESS  read-only
       DESCRIPTION
           "Write access is not required.
           "
--       OBJECT  hpicfSyslogPriorityDestinationIndex
--       MIN-ACCESS  read-only
--       DESCRIPTION
--           "Write access is not required.
--           "
       ::= { hpicfSyslogCompliances 5 }

   hpicfSyslogNotificationCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
           "The compliance statement for SNMP entities
            which implement the SYSLOG-MIB and support
            only notifications about change in the
            operational status of a syslog application.
           "
       MODULE -- this module
       MANDATORY-GROUPS {
           hpicfSyslogNotificationGroup
       }

       ::= { hpicfSyslogCompliances 7 }

   hpicfSyslogFullComplianceOobm MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
           "The compliance statement for syslog server configuration
	   with support for OOBM.
           "
       MODULE -- this module
       GROUP  hpicfSyslogControlGroupOobm
       DESCRIPTION
            "This group is optional if there is no OOBM port
	    on device." 
       
       ::= { hpicfSyslogCompliances 8 }
   END

