-- =================================================================
-- Copyright (C) 2006 by HUAWEI-3Com TECHNOLOGIES. All rights reserved
--
-- Description: Private MIB for RCP information
-- Reference:
-- Version: V1.0
-- History:
--   V1.0 2006-09-20, Created by ChaiYongfu
-- =================================================================
H3C-RCP-MIB DEFINITIONS ::= BEGIN
IMPORTS
    h3cRCP
        FROM HUAWEI-3COM-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;

h3cRCPMIB MODULE-IDENTITY
    LAST-UPDATED "200609200000Z"
    ORGANIZATION
        "Huawei 3Com Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team Huawei 3Com Technologies Co., Ltd.
         Hai-Dian District Beijing P.R. China
         Http://www.huawei-3com.com
         Zip:100085"
    DESCRIPTION
        "The MIB module is used for managing RCP protocol server."
    REVISION "200609200000Z"
    DESCRIPTION
        "The Initial Version of h3cRCPMIB."
    ::= { h3cRCP 1 }

h3cRCPLeaf OBJECT IDENTIFIER ::= { h3cRCPMIB 1 }

h3cRCPServerEnableStatus 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."
    ::= { h3cRCPLeaf 1 }

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

h3cRCPRuleTimeout 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."
    ::= { h3cRCPLeaf 3 }

h3cRCPServerMaxConn 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."
    ::= { h3cRCPLeaf 4 }

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

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

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

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

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

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

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

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

h3cRCPTable OBJECT IDENTIFIER ::= { h3cRCPMIB 2 }

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

h3cRCPUserEntry OBJECT-TYPE
    SYNTAX      H3cRCPUserEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of h3cRCPUserTable."
    INDEX
        {
            h3cRCPUserName
        }
    ::= { h3cRCPUserTable 1 }

H3cRCPUserEntry ::= SEQUENCE
    {
        h3cRCPUserName                    DisplayString,
        h3cRCPUserPassword                DisplayString,
        h3cRCPUserRedirectInterface       InterfaceIndexOrZero,
        h3cRCPUserRedirectBalanceGroup    Integer32,
        h3cRCPUserRowStatus               RowStatus
    }

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

h3cRCPUserPassword 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 '***'."
    ::= { h3cRCPUserEntry 2 }

h3cRCPUserRedirectInterface 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."
    ::= { h3cRCPUserEntry 3 }

h3cRCPUserRedirectBalanceGroup 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."
    ::= { h3cRCPUserEntry 4 }

h3cRCPUserRowStatus 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
        h3cRCPUserRowStatus is active(1).
        When deleting an inexistence entry, return noError."
    ::= { h3cRCPUserEntry 5 }

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

h3cRCPClientIPEntry OBJECT-TYPE
    SYNTAX      H3cRCPClientIPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of h3cRCPClientIPTable."
    INDEX
        {
            h3cRCPClientIPType,
            h3cRCPClientIP
        }
    ::= { h3cRCPClientIPTable 1 }

H3cRCPClientIPEntry ::= SEQUENCE
    {
        h3cRCPClientIPType         InetAddressType,
        h3cRCPClientIP             InetAddress,
        h3cRCPClientIPRowStatus    RowStatus
    }

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

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

h3cRCPClientIPRowStatus 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
        h3cRCPClientIPRowStatus is active(1).
        When deleting an inexistence entry, return noError."
    ::= { h3cRCPClientIPEntry 3 }

h3cRCPSessionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cRCPSessionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "RCP session Table."
    ::= { h3cRCPTable 3 }

h3cRCPSessionEntry OBJECT-TYPE
    SYNTAX      H3cRCPSessionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of h3cRCPSessionTable."
    INDEX
        {
            h3cRCPSessionId
        }
    ::= { h3cRCPSessionTable 1 }

H3cRCPSessionEntry ::= SEQUENCE
    {
        h3cRCPSessionId               Integer32,
        h3cRCPSessionClientIPType     InetAddressType,
        h3cRCPSessionClientIP         InetAddress,
        h3cRCPSessionRunningStatus    INTEGER,
        h3cRCPSessionUserName         DisplayString
    }

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

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

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

h3cRCPSessionRunningStatus 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."
    ::= { h3cRCPSessionEntry 4 }

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

END
