HP-ACCT-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        OBJECT-TYPE, MODULE-IDENTITY, Integer32
             FROM SNMPv2-SMI
        DisplayString
            FROM SNMPv2-TC
        OBJECT-GROUP, MODULE-COMPLIANCE
            FROM SNMPv2-CONF
        hpSwitch
            FROM HP-ICF-OID;

    hpSwitchAccountingMIB MODULE-IDENTITY
        LAST-UPDATED "201103050000Z"  --   March 05, 2011
        ORGANIZATION "HP Networking"
        CONTACT-INFO "Hewlett Packard Company
                      8000 Foothills Blvd.
                      Roseville, CA 95747"
        DESCRIPTION  "This MIB module describes objects for managing
                     the Accounting service features of devices in the HP
                     Integrated Communication Facility product line."

        REVISION     "201103050000Z"  --   March 05, 2011
        DESCRIPTION  "Updated 'hpSwitchAcctServiceMethod' object
                      with 'syslog' value."

        REVISION     "200907140000Z"  -- July 14, 2009
        DESCRIPTION  "Added 'hpSwitchAcctSessionIdentification' object,
                      updated 'hpSwitchAcctServiceMode' object
                      with 'interim-update' value."

        REVISION     "200807110000Z"  -- July 11, 2008
        DESCRIPTION  "Added 'hpSwitchAcctServiceServerGroupName' object."

        REVISION     "200108220238Z"  -- August 22, 2001
        DESCRIPTION  "Initial version of this MIB module."

        ::= { hpSwitch 17 }
            
-- ------------------------------------------------------------
   -- Configuration support for Accounting
-- ------------------------------------------------------------

    hpSwitchAccountingConfig
        OBJECT IDENTIFIER ::= { hpSwitchAccountingMIB 1 }

    hpSwitchAcctUpdateInterval OBJECT-TYPE
        SYNTAX      Integer32 (0..525600)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Defines periodic intervals to send accounting 
                    update records (in minutes)."
        ::= { hpSwitchAccountingConfig 1 }

    hpSwitchAcctSuppressNullUserName OBJECT-TYPE
        SYNTAX      INTEGER {
                        yes(1),
                        no(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "An indication of whether accounting records need
                    to be generated for users, whose username string
                    is NULL. If yes(1), then prevent accounting records
                    from being generated."
        ::= { hpSwitchAccountingConfig 2 }

    hpSwitchAcctSessionIdentification OBJECT-TYPE
        SYNTAX      INTEGER {
                        unique(1),
                        common(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Specifies how accounting sessions for different
                    accounting service types will be identified.
                    unique - use a unique accounting session identifier
                             in accounting records for each accounting
                             service type (network, exec, system, commands).
                    common - use identical accounting session identifier
                             in all accounting records sent out of switch
                             for a given user's access session, irrespective
                             to the accounting service type that generates
                             the records within the session."
        DEFVAL      { unique }
        ::= { hpSwitchAccountingConfig 3 } 

    hpSwitchAcctServiceTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpSwitchAcctServiceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table lists the accounting service types,
                     accounting methods and the way of how accounting
                     sessions should be initiated or terminated."
        ::= { hpSwitchAccountingMIB 2 }

    hpSwitchAcctServiceEntry OBJECT-TYPE 
        SYNTAX      HpSwitchAcctServiceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An accounting service table entry."
        INDEX       { hpSwitchAcctServiceIndex }
        ::= {hpSwitchAcctServiceTable 1}

    HpSwitchAcctServiceEntry ::=
        SEQUENCE {
            hpSwitchAcctServiceIndex             INTEGER,
            hpSwitchAcctServiceMethod            INTEGER,
            hpSwitchAcctServiceMode              INTEGER,
            hpSwitchAcctServiceServerGroupName   DisplayString
        }

    hpSwitchAcctServiceIndex OBJECT-TYPE
        SYNTAX      INTEGER {
                        network(1),
                        exec(2),
                        system(3),
                        commands(4)
                    }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Specifies the accounting service type configured on 
                     the switch."
        ::= {hpSwitchAcctServiceEntry 1}

    hpSwitchAcctServiceMethod OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1),
                        radius(2),
                        syslog(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Specifies the method used for accounting."
        ::= { hpSwitchAcctServiceEntry 2 }

    hpSwitchAcctServiceMode OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1),
                        startStop(2),
                        stopOnly(3),
                        interimUpdate(4)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Specifies how the progress of accounting session will
                    be reported."
        ::= { hpSwitchAcctServiceEntry 3 }

    hpSwitchAcctServiceServerGroupName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The name that defines the RADIUS server group that this
                     authentication method is associated with.  See the
                     documentation for the maximum length of the group name."
        ::= { hpSwitchAcctServiceEntry 4 }

-- ------------------------------------------------------------
-- Conformance   
-- ------------------------------------------------------------

    hpSwitchAccountingMIBConformance
        OBJECT IDENTIFIER ::= { hpSwitchAccountingMIB 3 }

    hpSwitchAccountingMIBCompliances
        OBJECT IDENTIFIER ::= { hpSwitchAccountingMIBConformance 1}

    hpSwitchAccountingMIBGroups
        OBJECT IDENTIFIER ::= { hpSwitchAccountingMIBConformance 2}


    hpSwitchAccountingMIBCompliance MODULE-COMPLIANCE 
        STATUS      current
        DESCRIPTION "The compliance statement for devices implementing the
                     HP Accounting Mib."
        MODULE
            MANDATORY-GROUPS { hpSwitchAccountingConfigGroup }
        ::= { hpSwitchAccountingMIBCompliances 1 }

    hpSwitchAccountingConfigGroup OBJECT-GROUP
        OBJECTS     { hpSwitchAcctUpdateInterval,
                      hpSwitchAcctSuppressNullUserName,
                      hpSwitchAcctSessionIdentification,
            	      hpSwitchAcctServiceMethod,
                      hpSwitchAcctServiceMode,
                      hpSwitchAcctServiceServerGroupName
                    }
        STATUS      current
        DESCRIPTION "A collection of objects for configuring the
                    accounting features."
        ::= { hpSwitchAccountingMIBGroups 1 }
END
