-- =================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description: Private MIB for RCP information
-- Reference:
-- Version: V1.0
-- History:
--   V1.0 2006-09-20, Created by ChaiYongfu
-- =================================================================
HPN-ICF-RCP-MIB DEFINITIONS ::= BEGIN
IMPORTS
    hpnicfRCP
        FROM HPN-ICF-OID-MIB
    OBJECT-TYPE, MODULE-IDENTITY, Integer32
        FROM SNMPv2-SMI
    DisplayString, RowStatus, TruthValue
        FROM SNMPv2-TC
    InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB
    InterfaceIndexOrZero
        FROM IF-MIB;

hpnicfRCPMIB MODULE-IDENTITY
    LAST-UPDATED "200609200000Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION
        "The MIB module is used for managing RCP protocol server."
    REVISION "200609200000Z"
    DESCRIPTION
        "The Initial Version of hpnicfRCPMIB."
    ::= { hpnicfRCP 1 }

hpnicfRCPLeaf OBJECT IDENTIFIER ::= { hpnicfRCPMIB 1 }

hpnicfRCPServerEnableStatus OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This attribute controls the system wide operation of RCP server.
        The value TRUE means that the RCP server is enabled.
        The value FALSE means that the RCP server is disabled."
    ::= { hpnicfRCPLeaf 1 }

hpnicfRCPConnTimeout OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specifies the maximum time in seconds that a RCP client connection
        is idle."
    ::= { hpnicfRCPLeaf 2 }

hpnicfRCPRuleTimeout OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specifies the time in seconds before a RCP rule is aged out.
        If its value is 0, it indicates RCP rule will not be aged out."
    ::= { hpnicfRCPLeaf 3 }

hpnicfRCPServerMaxConn OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specifies the maximum number of clients that permitted to connect with
        RCP server at the same time."
    ::= { hpnicfRCPLeaf 4 }

hpnicfRCPServerCurConn OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current actual number of clients that connecting with RCP server."
    ::= { hpnicfRCPLeaf 5 }

hpnicfRCPConnTimeoutMaxValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Specifies the maximum value of hpnicfRCPConnTimeout."
    ::= { hpnicfRCPLeaf 6 }

hpnicfRCPRuleTimeoutMaxValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Specifies the maximum value of hpnicfRCPRuleTimeout."
    ::= { hpnicfRCPLeaf 7 }

hpnicfRCPServerMaxConnMaxValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Specifies the maximum value of hpnicfRCPServerMaxConn."
    ::= { hpnicfRCPLeaf 8 }

hpnicfRCPBalanceGroupIdMinValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Specifies the minimum value of balance group identity."
    ::= { hpnicfRCPLeaf 9 }

hpnicfRCPBalanceGroupIdMaxValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Specifies the maximum value of balance group identity."
    ::= { hpnicfRCPLeaf 10 }

hpnicfRCPTotalUsers OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Specifies the total number of RCP user."
    ::= { hpnicfRCPLeaf 11 }

hpnicfRCPTotalClientIPs OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Specifies the total number of RCP client IP."
    ::= { hpnicfRCPLeaf 12 }

hpnicfRCPTable OBJECT IDENTIFIER ::= { hpnicfRCPMIB 2 }

hpnicfRCPUserTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfRCPUserEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "RCP User Info Table."
    ::= { hpnicfRCPTable 1 }

hpnicfRCPUserEntry OBJECT-TYPE
    SYNTAX      HpnicfRCPUserEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of hpnicfRCPUserTable."
    INDEX
        {
            hpnicfRCPUserName
        }
    ::= { hpnicfRCPUserTable 1 }

HpnicfRCPUserEntry ::= SEQUENCE
    {
        hpnicfRCPUserName                    DisplayString,
        hpnicfRCPUserPassword                DisplayString,
        hpnicfRCPUserRedirectInterface       InterfaceIndexOrZero,
        hpnicfRCPUserRedirectBalanceGroup    Integer32,
        hpnicfRCPUserRowStatus               RowStatus
    }

hpnicfRCPUserName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(1..16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The name of RCP user."
    ::= { hpnicfRCPUserEntry 1 }

hpnicfRCPUserPassword OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(1..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        " The password of RCP user.
        It is invisible to users and displayed as '***'."
    ::= { hpnicfRCPUserEntry 2 }

hpnicfRCPUserRedirectInterface OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The redirect interface index of RCP user.
        The RCP rule assigned by the user can be associated with the redirect
        interface.
        If the redirect interface is invalid, its value is set to be 0."
    ::= { hpnicfRCPUserEntry 3 }

hpnicfRCPUserRedirectBalanceGroup OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The redirect balance group identity of RCP user.
        The RCP rule assigned by the user can be associated with the redirect
        balance group.
        If the balance group is invalid, its value is set to be 0."
    ::= { hpnicfRCPUserEntry 4 }

hpnicfRCPUserRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This manages the creation and deletion of rows, and shows
        the current status of the indexed user name. This object has the
        following values.

        active(1)        The indexed user name is configured on the device.
        notInService(2)  Not Supported.
        notReady(3)      Not Supported.
        createAndGo(4)   Create a new user.
        createAndWait(5) Not Supported.
        destroy(6)       Delete this entry.

        The associated entry can be modified when the value of
        hpnicfRCPUserRowStatus is active(1).
        When deleting an inexistence entry, return noError."
    ::= { hpnicfRCPUserEntry 5 }

hpnicfRCPClientIPTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfRCPClientIPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "RCP Client IP Table."
    ::= { hpnicfRCPTable 2 }

hpnicfRCPClientIPEntry OBJECT-TYPE
    SYNTAX      HpnicfRCPClientIPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of hpnicfRCPClientIPTable."
    INDEX
        {
            hpnicfRCPClientIPType,
            hpnicfRCPClientIP
        }
    ::= { hpnicfRCPClientIPTable 1 }

HpnicfRCPClientIPEntry ::= SEQUENCE
    {
        hpnicfRCPClientIPType         InetAddressType,
        hpnicfRCPClientIP             InetAddress,
        hpnicfRCPClientIPRowStatus    RowStatus
    }

hpnicfRCPClientIPType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP address type (IPv4 or IPv6) of RCP client."
    ::= { hpnicfRCPClientIPEntry 1 }

hpnicfRCPClientIP OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP address of RCP client."
    ::= { hpnicfRCPClientIPEntry 2 }

hpnicfRCPClientIPRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This manages the creation and deletion or rows, and shows
        the current status of the indexed client IP address.  This object has
        the following values.

        active(1)        The indexed client IP is configured on the device.
        notInService(2)  Not Supported.
        notReady(3)      Not Supported.
        createAndGo(4)   Create a new client IP.
        createAndWait(5) Not Supported.
        destroy(6)       Delete this entry.

        The associated entry can be modified when the value of
        hpnicfRCPClientIPRowStatus is active(1).
        When deleting an inexistence entry, return noError."
    ::= { hpnicfRCPClientIPEntry 3 }

hpnicfRCPSessionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfRCPSessionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "RCP session Table."
    ::= { hpnicfRCPTable 3 }

hpnicfRCPSessionEntry OBJECT-TYPE
    SYNTAX      HpnicfRCPSessionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of hpnicfRCPSessionTable."
    INDEX
        {
            hpnicfRCPSessionId
        }
    ::= { hpnicfRCPSessionTable 1 }

HpnicfRCPSessionEntry ::= SEQUENCE
    {
        hpnicfRCPSessionId               Integer32,
        hpnicfRCPSessionClientIPType     InetAddressType,
        hpnicfRCPSessionClientIP         InetAddress,
        hpnicfRCPSessionRunningStatus    INTEGER,
        hpnicfRCPSessionUserName         DisplayString
    }

hpnicfRCPSessionId OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "RCP session identity."
    ::= { hpnicfRCPSessionEntry 1 }

hpnicfRCPSessionClientIPType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP address type (IPv4 or IPv6) of RCP client."
    ::= { hpnicfRCPSessionEntry 2 }

hpnicfRCPSessionClientIP OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "RCP client IP address."
    ::= { hpnicfRCPSessionEntry 3 }

hpnicfRCPSessionRunningStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            connected(1),
            operational(2)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "RCP server running status.
         It is one of the following status:
         connected: The connection is established and the RCP client is waiting
                    for authentication.
         operational: The RCP client is authenticated and the server is ready
                      for rule configuration request."
    ::= { hpnicfRCPSessionEntry 4 }

hpnicfRCPSessionUserName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "RCP user name."
    ::= { hpnicfRCPSessionEntry 5 }

END
