--MibName=rcDhcpClient
-- *****************************************************************
-- switch-dhcpclient-mib.mib:  Raisecom DHCP Client MIB file
--
-- Aug 2007, wumingyu
--
-- Copyright (c) 1994-2007 by Raisecom Technology Co., Ltd.
-- All rights reserved.
--
-- *****************************************************************

-- *****************************************************************
-- Modi ReportFormat: <number>, <time>, <author>, <desc>
-- 
-- 02, 20110803, yzh, change the status of rcDhcpClientRequestVlans
--                    from current to deprecated   
-- 01, 20080521, wumingyu, add node rcDhcpClientRequestSpecifySvr
-- 02, 20110811,huangyuanyuan,bugROS00002181
-- *****************************************************************

DHCP-CLIENT-MIB  DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    NOTIFICATION-TYPE,
    OBJECT-TYPE                         FROM SNMPv2-SMI

    MODULE-COMPLIANCE,
    NOTIFICATION-GROUP,
    OBJECT-GROUP                        FROM SNMPv2-CONF

    Vlanset                             FROM SWITCH-TC

    iscomSwitch                         FROM RAISECOM-BASE-MIB;


    rcDhcpClient MODULE-IDENTITY
        LAST-UPDATED    "200708300000Z"
        ORGANIZATION    "Raisecom Technology Co., Ltd."
        CONTACT-INFO
                "Raisecom Systems

                Postal: No.617/619 Haitai Tower,
                229 Fourth North Loop Middle Road,
                Haidian District, Beijing, PRC

                Tel: +86-10-82884499

                E-mail: wumingyu@raisecom.com"
        DESCRIPTION
         "The MIB module is for configuration of DHCP Client
         feature. DHCP Client could obtain an IP configuration
         from DHCP Server, as well as other request options,
         including option 66, option67, option150 and so forth."
        REVISION   "200708300000Z"
        DESCRIPTION
            "The initial revision of this MIB module."
        ::= { iscomSwitch 25 }

------------------------------------------------------------------------------
-- define groups in rcDhcpClient
------------------------------------------------------------------------------
    rcDhcpClientMibObjects
        OBJECT IDENTIFIER ::= { rcDhcpClient 1 }


------------------------------------------------
--  rcDhcpClientRequestTable--
------------------------------------------------
 rcDhcpClientRequestTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcDhcpClientRequestEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table provides the mechanism to control DHCP Client per ip interface."
        ::= { rcDhcpClientMibObjects 1 }

rcDhcpClientRequestEntry OBJECT-TYPE
        SYNTAX RcDhcpClientRequestEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for dhcp client request table based on ip interface."
        INDEX {  rcDhcpClientRequestIfIndex }
        ::= { rcDhcpClientRequestTable 1 }

RcDhcpClientRequestEntry ::= SEQUENCE
    {
        rcDhcpClientRequestIfIndex          INTEGER,
        rcDhcpClientRequestHostname         OCTET STRING,
        rcDhcpClientRequestClassid          OCTET STRING,
        rcDhcpClientRequestClientid         OCTET STRING,
        rcDhcpClientRequestVlans            Vlanset,
        rcDhcpClientRequestOperationType    INTEGER,
        rcDhcpClientRequestOperationStates  INTEGER,
        rcDhcpClientRequestIpAddress        IpAddress,
        rcDhcpClientRequestDefaultGateway   IpAddress,
        rcDhcpClientRequestSubnetMask       IpAddress,
        rcDhcpClientRequestLeaseStarts      Unsigned32,
        rcDhcpClientRequestLeaseEnds        Unsigned32,
        rcDhcpClientRequestLeaseDuration    Unsigned32,
        rcDhcpClientRequestDhcpSvr          IpAddress,
        rcDhcpClientRequestTftpSvrName      OCTET STRING,
        rcDhcpClientRequestTftpSvrAddr      IpAddress,
        rcDhcpClientRequestStartupConfFile  OCTET STRING,
        rcDhcpClientRequestResultStates     INTEGER,
        rcDhcpClientRequestSpecifySvr       IpAddress,
        rcDhcpClientRequestRootPath         OCTET STRING,
        rcDhcpClientRequestNtpServer        IpAddress
    }

rcDhcpClientRequestIfIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index that uniquely identifies an ip interface which
             dhcp client is in. Its value is always MAX_PORT_NUM + 1 currently.
             'MAX_PORT_NUM' is the PHY port number of a switch."
        ::= { rcDhcpClientRequestEntry 1}

rcDhcpClientRequestHostname OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(0..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object specifies the hostname of dhcp client.
             Its default value is 'Raisecom'"
        ::= { rcDhcpClientRequestEntry 2 }

rcDhcpClientRequestClassid OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(0..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object specifies the class identifier of dhcp client.
             Its default value is 'Raisecom-ROS_VERSION'. 'ROS_VERSION'
             is the plat version for ROS."
        ::= { rcDhcpClientRequestEntry 3 }

rcDhcpClientRequestClientid OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(0..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object specifies the client identifier of dhcp client.
             Its default value is 'Raisecom-SYS_MAC-IF0'. 'SYS_MAX' is
             the MacAddress of the switch."
        ::= { rcDhcpClientRequestEntry 4 }

rcDhcpClientRequestVlans OBJECT-TYPE
        SYNTAX Vlanset
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "The object indicates the vlans which dhcp client is in.
             If it takes set operation on this node, it should take
             the set operation(value request(2)) on node
             rcDhcpClientRequestOperationType together."
        ::= { rcDhcpClientRequestEntry 5}

rcDhcpClientRequestOperationType OBJECT-TYPE
        SYNTAX INTEGER
                {
                    none(1),
                    request (2),
                    renew(3),
                    release(4)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The object indicates the dhcp client operation type.
             The type none(1) is just for the get operation(that is, when get
             operation on this node, it always returns none(1)),
             type request(2) indicates that dhcp client starts a dhcp process,
             type renew(3) indicates that dhcp client starts renewing,
             type release(4) indicates that dhcp client releases the ip address
             which was got from dhcp server."
        ::= { rcDhcpClientRequestEntry 6}

rcDhcpClientRequestOperationStates OBJECT-TYPE
        SYNTAX INTEGER
                {
                    initialize(1),
                    requesting (2),
                    requestsuccessfully(3),
                    requestgetfailed(4),
                    requestconfigfailed(5),
                    renewing(6),
                    renewsuccessfully(7),
                    renewfailed(8)
                }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the dhcp client operation states.
             The state initialize(1) indicates that no dhcp client operation
             is done before, state requesting (2) indicates that dhcp client
             is requesting ip address, state requestsuccessfully (3) indicates that
             dhcp client gets ip address and config it successfully, state
             requestgetfailed(4) indicates that dhcp client doesn't get ip address
             from dhcp server, state requestconfigfailed(5) indicates that dhcp client
             has got ip address from dhcp server but failed on ip config, state renewing(6)
             indicates that dhcp is renewing, state renewsuccessfully(7) indicates that
             dhcp client renews successfully, state renewfailed(8) indicates that
             dhcp client renews failed."
        ::= { rcDhcpClientRequestEntry 7}

rcDhcpClientRequestIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the ip address which dhcp client requires from dhcp server."
        ::= { rcDhcpClientRequestEntry 8}

rcDhcpClientRequestDefaultGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the default gateway address which dhcp client requires from dhcp server."
        ::= { rcDhcpClientRequestEntry 9}

rcDhcpClientRequestSubnetMask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the subnet mask address which dhcp client requires from dhcp server."
        ::= { rcDhcpClientRequestEntry 10}

rcDhcpClientRequestLeaseStarts OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the lease start time which dhcp client requires from dhcp server."
        ::= { rcDhcpClientRequestEntry 11}

rcDhcpClientRequestLeaseEnds OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the lease expire time which dhcp client requires from dhcp server."
        ::= { rcDhcpClientRequestEntry 12}

rcDhcpClientRequestLeaseDuration OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the lease duration which dhcp client requires from dhcp server."
        ::= { rcDhcpClientRequestEntry 13}

rcDhcpClientRequestDhcpSvr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the dhcp server which dhcp client requires ip address from."
        ::= { rcDhcpClientRequestEntry 14}

rcDhcpClientRequestTftpSvrName OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the tftp server name which dhcp client requires from dhcp server."
        ::= { rcDhcpClientRequestEntry 15}

rcDhcpClientRequestTftpSvrAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the tftp server address which dhcp client requires from dhcp server."
        ::= { rcDhcpClientRequestEntry 16}

rcDhcpClientRequestStartupConfFile OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(0..128))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the startup configuration file name which dhcp client requires from dhcp server."
        ::= { rcDhcpClientRequestEntry 17}

rcDhcpClientRequestResultStates OBJECT-TYPE
        SYNTAX INTEGER
                {
                    unavailable(1),
                    available(2)
                }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the current states of dhcp client request information.
             The state unavailable(1) indicates that dhcp client request information
             isn't available currently while state available(2) indicates that dhcp client
             request information is available currently."
        ::= { rcDhcpClientRequestEntry 18}

rcDhcpClientRequestSpecifySvr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The object indicates the dhcp server which dhcp client specified.
             Its default value is (0.0.0.0).
             The value(0.0.0.0) indicates that dhcp client doesn't specify any dhcp server."
        ::= { rcDhcpClientRequestEntry 19}

rcDhcpClientRequestRootPath OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This option specifies the path-name that contains the client's root
             disk.  The path is formatted as a character string consisting of
             characters from the NVT ASCII character set"
        ::= { rcDhcpClientRequestEntry 20}

rcDhcpClientRequestNtpServer OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This option specifies first NTP server ip address in NTP
             servers available to the client. "
        ::= { rcDhcpClientRequestEntry 21}

-- end rcDhcpClientRequestTable--

END
