FASTPATH-LOGGING-MIB DEFINITIONS ::= BEGIN

-- Copyright Broadcom Corporation (2004-2007) All rights reserved.

-- This SNMP Management Information Specification
-- embodies Broadcom Corporation's confidential and proprietary
-- intellectual property.  Broadcom Corporation retains all title
-- and ownership in the Specification including any revisions.

-- This Specification is supplied "AS IS", Broadcom Corporation
-- makes no warranty, either expressed or implied,
-- as to the use, operation, condition, or performance of the
-- Specification.

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Gauge32,
        Unsigned32, TimeTicks, NOTIFICATION-TYPE  FROM SNMPv2-SMI
        TEXTUAL-CONVENTION, DisplayString, 
        DateAndTime, RowStatus                    FROM SNMPv2-TC
        fastPath                                  FROM BROADCOM-REF-MIB
        InetAddress, InetAddressType              FROM INET-ADDRESS-MIB
        agentInventoryComponentIndex              FROM FASTPATH-INVENTORY-MIB;

    AgentLogFacility ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
            "Facility code used in determining the SysLog Priority value."
        REFERENCE
            "RFC3164 - 4.1.1: Table 1"
        SYNTAX  INTEGER {
            kernel(0),   -- kernel messages
            user(1),     -- user-level messages
            mail(2),     -- mail system
            system(3),   -- system daemons
            security(4), -- security/authorization messages
            syslog(5),   -- messages generated internally by syslogd
            lpr(6),      -- line printer subsystem
            nntp(7),     -- network news subsystem
            uucp(8),     -- UUCP subsystem
            cron(9),     -- clock daemon
            auth (10),   -- security/authorization messages
            ftp(11),     -- FTP daemon
            ntp(12),     -- NTP subsystem
            audit(13),   -- log audit
            alert(14),   -- log alert
            clock(15),   -- clock daemon
            local0(16),  -- local use 0
            local1(17),  -- local use 1
            local2(18),  -- local use 2
            local3(19),  -- local use 3
            local4(20),  -- local use 4
            local5(21),  -- local use 5
            local6(22),  -- local use 6
            local7(23)   -- local use 7
            }

    AgentLogSeverity ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
            "Severity code used in determining the SysLog Priority value."
        REFERENCE
            "RFC3164 - 4.1.1: Table 2"
        SYNTAX  INTEGER {
            emergency(0),     -- System is unusable. System failure has occurred.
            alert(1),         -- Action must be taken immediately. Unrecoverable
                              --  failure of a component. System failure likely.
            critical(2),      -- Critical conditions. Recoverable failure of a
                              --  component that may lead to system failure.
            error(3),         -- Error conditions. Recoverable failure of a component.
            warning(4),       -- Warning conditions. Minor failure, e.g.
                              --  misconfiguration of a component.
            notice(5),        -- Normal but significant conditions.
            informational(6), -- Informational messages.
            debug(7)          -- Debug-level messages.
            }

    fastPathLogging MODULE-IDENTITY
        LAST-UPDATED "200705230000Z" -- 23 May 2007 12:00:00 GMT
        ORGANIZATION "Broadcom Corporation"
        CONTACT-INFO
            "                      Customer Support
            Postal:                Broadcom Corporation
                                   100 Perimeter Park Dr., Suite H
                                   Morrisville, NC 27560
            Tel:                   +1 919 865 2700"
        DESCRIPTION
            "This MIB provides objects to configure and display events logged
            on this system."
        
        -- Revision history.	  
        REVISION
            "200705230000Z" -- 23 May 2007 12:00:00 GMT
        DESCRIPTION
           "Broadcom branding related changes."
        REVISION
            "200410261303Z" -- Tue Oct 23 13:03:07 2004 GMT 
        DESCRIPTION
            "Initial version."
 
        ::= { fastPath 14 }

    --**************************************************************************************
    -- agentLogConfigGroup
    --
    --**************************************************************************************

    agentLogConfigGroup                          OBJECT IDENTIFIER ::= { fastPathLogging 1 }

    --**************************************************************************************
    -- agentLogInMemoryConfigGroup
    --
    --**************************************************************************************

    agentLogInMemoryConfigGroup                  OBJECT IDENTIFIER ::= { agentLogConfigGroup 1 }

    agentLogInMemoryAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Administratively enable/disable the In Memory log."
        ::= { agentLogInMemoryConfigGroup 1 }

 
    agentLogInMemoryBehavior OBJECT-TYPE
        SYNTAX      INTEGER {
                    wrap(1),
                    stop-on-full(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Configures the behavior of the In Memory Log when it becomes full.  A value of
            wrap(1) will cause the oldest log message to be removed, making room for the new
            message.  A value of stop-on-full(2) will prevent any further logging."
        ::= { agentLogInMemoryConfigGroup 4 }

    --**************************************************************************************
    -- agentLogConsoleConfigGroup
    --
    --**************************************************************************************

    agentLogConsoleConfigGroup                   OBJECT IDENTIFIER ::= { agentLogConfigGroup 2 }

    agentLogConsoleAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Admin mode for console logs"
        ::= { agentLogConsoleConfigGroup 1 }

    agentLogConsoleSeverityFilter OBJECT-TYPE
        SYNTAX      AgentLogSeverity
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Severity filter for console logs"
        ::= { agentLogConsoleConfigGroup 2 }

    --**************************************************************************************
    -- agentLogPersistentConfigGroup
    --
    --**************************************************************************************

    agentLogPersistentConfigGroup                OBJECT IDENTIFIER ::= { agentLogConfigGroup 3 }

    agentLogPersistentAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This control disables/enables logging for the persistent startup log. Setting this 
             value to disable does not clear the current contents of the log."
        ::= { agentLogPersistentConfigGroup 1 }

    agentLogPersistentSeverityFilter OBJECT-TYPE
        SYNTAX      AgentLogSeverity
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This control specifies the minimum severity to log to the startup and operation log. 
             Messages with an equal or lower numerical severity are logged."
        ::= { agentLogPersistentConfigGroup 2 }

    --**************************************************************************************
    -- agentLogSysLogConfigGroup
    --
    --**************************************************************************************

    agentLogSysLogConfigGroup                    OBJECT IDENTIFIER ::= { agentLogConfigGroup 4 }

    agentLogSyslogAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "For Enabling and Disabling logging to configured syslog hosts. Setting this to disable 
             stops logging to all syslog hosts."
        ::= { agentLogSysLogConfigGroup 1 }

    agentLogSyslogLocalPort OBJECT-TYPE
        SYNTAX      Unsigned32 (1..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This is the port on the local host from which syslog messages are sent."
        ::= { agentLogSysLogConfigGroup 3 }

    agentLogSyslogMaxHosts OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Maximum number of hosts that can be configured for logging syslog messages."
        ::= { agentLogSysLogConfigGroup 4 }

    --**************************************************************************************
    -- agentLogCliCommandsConfigGroup
    --
    --**************************************************************************************

   agentLogCliCommandsConfigGroup                    OBJECT IDENTIFIER ::= { agentLogConfigGroup 5 }

    agentLogCliCommandsAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                    enable(1),
                    disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Administratively enable/disable the logging of the CLI Commands "
        ::= { agentLogCliCommandsConfigGroup 1 }


    --**************************************************************************************
    -- agentLogSyslogHostTable
    --
    --**************************************************************************************

    agentLogSyslogHostTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF AgentLogSyslogHostEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "Syslog host table containing syslog host entries."
        ::= { agentLogSysLogConfigGroup 5 }

    agentLogSyslogHostEntry OBJECT-TYPE
        SYNTAX         AgentLogSyslogHostEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "Syslog Host entry attributes."
        INDEX          { agentLogHostTableIndex }
        ::= { agentLogSyslogHostTable 1 }

    AgentLogSyslogHostEntry ::=
        SEQUENCE {
         agentLogHostTableIndex
                 Unsigned32,
         agentLogHostTableIpAddress
                 InetAddress,
         agentLogHostTableIpAddressType
                 InetAddressType,
         agentLogHostTablePort
                 Unsigned32,
         agentLogHostTableSeverityFilter
                 AgentLogSeverity,
         agentLogHostTableRowStatus
                 RowStatus
         }

    agentLogHostTableIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index to syslog host entry in syslog host table."
        ::= { agentLogSyslogHostEntry 1 }

    agentLogHostTableIpAddressType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Syslog Host table IP Address Type."
        ::= { agentLogSyslogHostEntry 2 }

    agentLogHostTableIpAddress OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Syslog Host table IP Address."
        ::= { agentLogSyslogHostEntry 3 }

    agentLogHostTablePort OBJECT-TYPE
        SYNTAX      Unsigned32 (1..65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Syslog Host table port number."
        ::= { agentLogSyslogHostEntry 4 }

    agentLogHostTableSeverityFilter OBJECT-TYPE
        SYNTAX      AgentLogSeverity
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Configures the minimum severity that will be stored in the In Memory log."
        ::= { agentLogSyslogHostEntry 5 }

    agentLogHostTableRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Syslog Host table row status"
        ::= { agentLogSyslogHostEntry 7 }


    --**************************************************************************************
    -- agentLogStatisticsGroup
    --
    --**************************************************************************************

    agentLogStatisticsGroup                      OBJECT IDENTIFIER ::= { fastPathLogging 2 }

    agentLogMessagesReceived OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of messages received by the log process. This includes messages that are 
             dropped or ignored."
        ::= { agentLogStatisticsGroup 1 }

    agentLogMessagesDropped OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of messages that could not be processed due to error or lack of resources."
        ::= { agentLogStatisticsGroup 2 }

    agentLogSyslogMessagesRelayed OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of messages forwarded by the syslog function to a syslog host. Messages forwarded 
             to multiple hosts are counted once for each host."
        ::= { agentLogStatisticsGroup 3 }

    agentLogSyslogMessagesIgnored OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION
            "The number of messages that were not processed by the syslog process because the component name 
             or the priority level did not match any specification."
        ::= { agentLogStatisticsGroup 4 }

    agentLogMessageReceivedTime OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The local time when a message was last received by the log subsystem specified as the number of 
             non-leap seconds since 00:00:00 UTC on January 1 1970."
        ::= { agentLogStatisticsGroup 5 }

    agentLogSyslogMessageDeliveredTime OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The local time when a message was last delivered to a syslog host specified as the number of non-leap 
             seconds since 00:00:00 UTC on January 1 1970."
        ::= { agentLogStatisticsGroup 6 }

    --**************************************************************************************
    -- agentLogInMemoryGroup
    --
    --**************************************************************************************

    agentLogInMemoryGroup                        OBJECT IDENTIFIER ::= { fastPathLogging 3 }

    agentLogInMemoryLogCount OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of valid entries in the in-memory log." 
        ::= { agentLogInMemoryGroup 1 }

    --**************************************************************************************
    -- agentLogInMemoryTable
    --
    --**************************************************************************************

    agentLogInMemoryTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF AgentLogInMemoryEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "The in-memory log table containing sequence of in-memory log entries."
        ::= { agentLogInMemoryGroup 2 }

    agentLogInMemoryEntry OBJECT-TYPE
        SYNTAX         AgentLogInMemoryEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "An individual message entry in in-memory log table."
        INDEX          { agentLogInMemoryMsgIndex }
        ::= { agentLogInMemoryTable 1 }
         
    AgentLogInMemoryEntry ::=
        SEQUENCE {
         agentLogInMemoryMsgIndex
                 Unsigned32,
         agentLogInMemoryMsgText
                 DisplayString
         }

    agentLogInMemoryMsgIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The index to message entry in the in-memory log table."
        ::= { agentLogInMemoryEntry 1 }

    agentLogInMemoryMsgText OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Message text info for inmemory logged messages."
        ::= { agentLogInMemoryEntry 2 }

    --**************************************************************************************
    -- agentLogPersistentGroup
    --
    --**************************************************************************************

    agentLogPersistentGroup                      OBJECT IDENTIFIER ::= { fastPathLogging 4 }

    agentLogPersistentLogCount OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The count of valid entries in the persistent log."
        ::= { agentLogPersistentGroup 1 }

    --**************************************************************************************
    -- agentLogPersistentTable
    --
    --**************************************************************************************

    agentLogPersistentTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF AgentLogPersistentEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "Table for storing persistent log messages."
        ::= { agentLogPersistentGroup 4 }

    agentLogPersistentEntry OBJECT-TYPE
        SYNTAX         AgentLogPersistentEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "Log entry details for logging message in persistent log table."
        INDEX          { agentLogMsgPersistentMsgIndex }
        ::= { agentLogPersistentTable 1 }
         
    AgentLogPersistentEntry ::=
        SEQUENCE {
         agentLogMsgPersistentMsgIndex
                 Unsigned32,
         agentLogMsgPersistentMsgText
                 DisplayString
         }

    agentLogMsgPersistentMsgIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Table index for logging message in persistent log table."
        ::= { agentLogPersistentEntry 1 }

    agentLogMsgPersistentMsgText OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The text corresponding to persistent log message."
        ::= { agentLogPersistentEntry 2 }


END
