-- ============================================================================
-- Copyright (C) 2005 by  HUAWEI 3Com TECHNOLOGIES. All rights reserved.
--
-- Description: DVPN MIB
-- Reference:
-- Version: V1.0
-- History:
-- V1.0 2005-07-01
--   Initial version, created by zhanglihua, zhangzhen, lilin and liukan
-- ============================================================================
A3COM-HUAWEI-DVPN-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        h3cCommon
            FROM A3COM-HUAWEI-OID-MIB
        InetAddressType, InetAddress
            FROM INET-ADDRESS-MIB
        Integer32, Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE,
        TimeTicks
            FROM SNMPv2-SMI
        RowStatus, TEXTUAL-CONVENTION
            FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP
            FROM SNMPv2-CONF
        ifIndex
            FROM IF-MIB;



--Node definitions


    h3cDvpn MODULE-IDENTITY
        LAST-UPDATED "200507011936Z"        -- July 1, 2005 at 19:36 GMT
        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
            "
                This MIB is Dynamic Virtual Private Network(Dvpn) mib.
                This MIB is applicable to router.
                Some objects in this may be used only for some specific products,
                so users should refer to the related documents to acquire more
                detail information.
            "
        ::= { h3cCommon 57 }


    DvpnAlgorithmSuite ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
            "
                13 kinds of dvpn algorithms.
                                         encryption method | hash method | key width.
                dvpnDesCbcMd5PreShaModp768:          des   |  md5        |     768
                dvpnDesCbcMd5PreShaModp1024:         des   |  md5        |    1024
                dvpnDesCbcSha1PreShaModp768:         des   | sha1        |     768
                dvpnDesCbcSha1PreShaModp1024:        des   | sha1        |    1024
                dvpn3DesCbcMd5PreShaModp768:        3des   |  md5        |     768
                dvpn3DesCbcMd5PreShaModp1024:       3des   |  md5        |    1024
                dvpn3DesCbcSha1PreShaModp768:       3des   | sha1        |     768
                dvpn3DesCbcSha1PreShaModp1024:      3des   | sha1        |    1024
                dvpnAesCbcMd5PreShaModp768:          Aes   |  md5        |     768
                dvpnAesCbcMd5PreShaModp1024:         Aes   |  md5        |    1024
                dvpnAesCbcSHA1Sha1PreShaModp768:     Aes   | sha1        |     768
                dvpnAesCbcSHA1Sha1PreShaModp1024:    Aes   | sha1        |    1024
                dvpnAlgorithmNone:                  none   | none        |  no key
            "
        SYNTAX INTEGER
            {
                dvpnDesCbcMd5PreShaModp768(1),
                dvpnDesCbcMd5PreShaModp1024(2),
                dvpnDesCbcSha1PreShaModp768(3),
                dvpnDesCbcSha1PreShaModp1024(4),
                dvpn3DesCbcMd5PreShaModp768(5),
                dvpn3DesCbcMd5PreShaModp1024(6),
                dvpn3DesCbcSha1PreShaModp768(7),
                dvpn3DesCbcSha1PreShaModp1024(8),
                dvpnAesCbcMd5PreShaModp768(9),
                dvpnAesCbcMd5PreShaModp1024(10),
                dvpnAesCbcSHA1Sha1PreShaModp768(11),
                dvpnAesCbcSHA1Sha1PreShaModp1024(12),
                dvpnAlgorithmNone(13)
            }

    DvpnCommunicateType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
            "
                The type of the communication between client and server.
                It indicates the direction of the communication.
            "
        SYNTAX INTEGER
            {
                clientToserver(1),
                serverToclient(2),
                serverToserver(3),
                clientToclient(4)
            }

    h3cDvpnMibObjects OBJECT IDENTIFIER ::= { h3cDvpn 1 }

    h3cDvpnMibGlobal OBJECT IDENTIFIER  ::= { h3cDvpnMibObjects 1 }

    h3cDvpnMibTableTroop OBJECT IDENTIFIER  ::= { h3cDvpnMibObjects 2 }

    h3cDvpnMibNotification OBJECT IDENTIFIER  ::= { h3cDvpnMibObjects 3 }

    h3cDvpnMibConformance OBJECT IDENTIFIER ::= { h3cDvpnMibObjects 4 }



    h3cDvpnServiceEnable OBJECT-TYPE
        SYNTAX INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                Dvpn service enable or disable.
                If dvpn service is 'disable', dvpn service can not be used.
            "
        DEFVAL { disable }
        ::= { h3cDvpnMibGlobal 1 }

    h3cDvpnClassNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of dvpn classes.
                It is only used on client.
            "
        DEFVAL { 0 }
        ::= { h3cDvpnMibGlobal 2 }


    h3cDvpnClientNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of clients which register on the server.
                When a session of server to client type is built,
                add 1 to the value of this node.
                It is only used on server.
            "
        DEFVAL { 0 }
        ::= { h3cDvpnMibGlobal 3 }

    h3cDvpnMapAgeTime OBJECT-TYPE
        SYNTAX Integer32 (10..180)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                Dvpn map age time, the unit is second.
                It is only used on server.
            "
        DEFVAL { 30 }
        ::= { h3cDvpnMibGlobal 4 }


    h3cDvpnClientRegisterInterval OBJECT-TYPE
        SYNTAX Integer32 (3..60)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                The length of time between the registering of client, the unit
                is second.
                It is only used on client.
            "
        DEFVAL { 10 }
        ::= { h3cDvpnMibGlobal 5 }


    h3cDvpnClientRegisterDumb OBJECT-TYPE
        SYNTAX Integer32 (60..3600)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                The length of time when client dumbs, the unit is second.
                It is only used on client.
            "
        DEFVAL { 300 }
        ::= { h3cDvpnMibGlobal 6 }


    h3cDvpnClientRegisterRetry OBJECT-TYPE
       SYNTAX Integer32(1..6)
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "
               Regist retry times of client after register fail.
               It is only used on client.
            "
       DEFVAL { 3 }
       ::= { h3cDvpnMibGlobal 7 }

    h3cDvpnInputPkt OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of recieved packets.
            "
        DEFVAL { 0 }
        ::= { h3cDvpnMibGlobal 8 }

    h3cDvpnDropPkt OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of packets have been droped.
            "
        DEFVAL { 0 }
        ::= { h3cDvpnMibGlobal 9 }

    h3cDvpnOutputPkt OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of packets have been sent.
            "
        DEFVAL { 0 }
        ::= { h3cDvpnMibGlobal 10 }

    h3cDvpnOutputErrorPkt OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of output error packets.
            "
        DEFVAL { 0 }
        ::= { h3cDvpnMibGlobal 11 }

    h3cDvpnEncryptErrorPkt  OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of packets have been encrypted wrongly.
            "
        DEFVAL { 0 }
        ::= { h3cDvpnMibGlobal 12 }

    h3cDvpnCurrentDeviceRole  OBJECT-TYPE
        SYNTAX INTEGER
            {
                none(1),
                server(2),
                client(3),
                both(4)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The current role of the device.
                The value is decided by the configuration of the tunnel-interface.
            "
        ::= { h3cDvpnMibGlobal 13 }

    h3cDvpnDomainNumber  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of dvpn domains.

            "
        DEFVAL { 0 }
        ::= { h3cDvpnMibGlobal 14 }

    h3cDvpnMapNumber  OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of dvpn maps.
            "
        DEFVAL { 0 }
        ::= { h3cDvpnMibGlobal 15 }

    h3cDvpnSessionNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             "
                 The number of dvpn sessiones including the session of all states.
             "
        DEFVAL { 0 }
        ::= {  h3cDvpnMibGlobal 16 }

    h3cDvpnServerPreSharedKey  OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..127))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                The pre-shared-key of server.
                It is only used on server.
            "
        ::= { h3cDvpnMibGlobal 17 }

    h3cDvpnMapTrapEnable OBJECT-TYPE
        SYNTAX INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                Dvpn map trap enable or disable.
            "
        DEFVAL { enable }
        ::= { h3cDvpnMibGlobal 18 }

    h3cDvpnSessionTrapEnable OBJECT-TYPE
        SYNTAX INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                Dvpn session trap enable or disable.
            "
        DEFVAL { enable }
        ::= { h3cDvpnMibGlobal 19 }

    h3cDvpnVersion  OBJECT-TYPE
        SYNTAX INTEGER
            {
                version2(1),
                version3(2)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                Dvpn version.
            "
        ::= { h3cDvpnMibGlobal 20 }

    h3cDvpnClearDomainAllConection  OBJECT-TYPE
        SYNTAX Integer32(1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                Clear all dvpn conects in the domain, the parameter is
                the id of the domain.
            "
        ::= { h3cDvpnMibGlobal 21 }

    h3cDvpnClearDvpnStaInfo OBJECT-TYPE
        SYNTAX Integer32(1)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                Clear the statistic information of dvpn.
            "
        ::= {  h3cDvpnMibGlobal 22 }

    h3cDvpnTotalRedirectNumber OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of redirect packets.
                It is only used on server.
            "
        DEFVAL { 0 }
        ::= { h3cDvpnMibGlobal 23 }


    h3cDvpnGlobalAuthenClientType OBJECT-TYPE
        SYNTAX INTEGER
            {
                 none(1),
                 pap(2),
                 chap(3)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                Dvpn global authentication type being used by server to client.
                The value is decided by the configuration by the user.
            "
        DEFVAL { none }
        ::= { h3cDvpnMibGlobal 24 }



    h3cDvpnGlobalUserDefAAADomain OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..24))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                Dvpn global AAA domain of the user. The domain will decide the
                authentication server which is used by the dvpn server to
                authenticate dvpn client.
            "
        ::= { h3cDvpnMibGlobal 25 }

    h3cDvpnLocalDeviceId OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The device ID, it is a string.
            "
        ::= {  h3cDvpnMibGlobal 26 }

    h3cDvpnSessionHisAgeTime OBJECT-TYPE
        SYNTAX Integer32(1..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                The age-time of the h3cDvpnSessionHisTable table.
                The unit is hour.
            "
        DEFVAL { 50 }
        ::= {  h3cDvpnMibGlobal 27 }

    h3cDvpnSessionHisReset OBJECT-TYPE
        SYNTAX INTEGER
            {
                 reset(1)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "
                The reset flag of dvpn h3cDvpnSessionHisTable table.
            "
        ::= {  h3cDvpnMibGlobal 28 }


--h3cDvpnPolicyTable

    h3cDvpnPolicyTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF H3cDvpnPolicyEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The dvpn policy table.
                It is used on dvpn server.
            "
        ::= { h3cDvpnMibTableTroop 1 }

    h3cDvpnPolicyEntry OBJECT-TYPE
        SYNTAX H3cDvpnPolicyEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The entry of h3cDvpnPolicyTable.
            "
        INDEX { h3cDvpnPolicyName }
        ::= { h3cDvpnPolicyTable 1 }

    H3cDvpnPolicyEntry ::=
        SEQUENCE {
            h3cDvpnPolicyName                          OCTET STRING,
            h3cDvpnPoAuthenClientType                    INTEGER,
            h3cDvpnPoSessionAlgorithmSuite               DvpnAlgorithmSuite,
            h3cDvpnPoSessionIdleTime                     Integer32,
            h3cDvpnPoSessionKeepTime                     Integer32,
            h3cDvpnPoSessionSetupInterval                Integer32,
            h3cDvpnPoDataAlgorithmSuite                  DvpnAlgorithmSuite,
            h3cDvpnPoSaSeconds                           Integer32,
            h3cDvpnPoUserDefAAADomain                    OCTET STRING,
            h3cDvpnPoRefTimes                            Integer32,
            h3cDvpnPoRowStatus                           RowStatus
        }

    h3cDvpnPolicyName OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(1..31))
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The name of Dvpn policy.
            "
        ::= { h3cDvpnPolicyEntry 1 }

    h3cDvpnPoAuthenClientType OBJECT-TYPE
        SYNTAX INTEGER
            {
                none(1),
                pap(2),
                chap(3)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                The authentication type used by server to client.
                The value is decided by the policy configuration of the user.
                The default value is none.
            "
        DEFVAL { none }
        ::= { h3cDvpnPolicyEntry 2 }

    h3cDvpnPoSessionAlgorithmSuite OBJECT-TYPE
        SYNTAX DvpnAlgorithmSuite
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                The algorithm suite used when session is created.
            "
        DEFVAL { dvpnDesCbcMd5PreShaModp768 }
        ::= { h3cDvpnPolicyEntry 3 }

    h3cDvpnPoSessionIdleTime OBJECT-TYPE
        SYNTAX Integer32(60..86400)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                The session idle time, the unit is second.
            "
        DEFVAL { 300 }
        ::= { h3cDvpnPolicyEntry 4 }

    h3cDvpnPoSessionKeepTime OBJECT-TYPE
        SYNTAX Integer32(5..300)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                The session keepalive time, the unit is second.
            "
        DEFVAL { 10 }
        ::= { h3cDvpnPolicyEntry 5 }

    h3cDvpnPoSessionSetupInterval OBJECT-TYPE
        SYNTAX Integer32(5..60)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                The session setup interval time, the unit is second.
            "
        DEFVAL { 10 }
        ::= { h3cDvpnPolicyEntry 6 }

    h3cDvpnPoDataAlgorithmSuite OBJECT-TYPE
        SYNTAX DvpnAlgorithmSuite
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                The algorithm suite used by the session for createing ipsec sa.
            "
        DEFVAL { dvpnDesCbcMd5PreShaModp768 }
        ::= { h3cDvpnPolicyEntry 7 }

    h3cDvpnPoSaSeconds OBJECT-TYPE
        SYNTAX Integer32(180..604800)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                The duration of DVPN IPSec security association.
                The unit is second.
            "
        DEFVAL { 3600 }
        ::= { h3cDvpnPolicyEntry 8 }

    h3cDvpnPoUserDefAAADomain OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..24))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                Dvpn policy AAA domain of the user. The domain will decide the
                authentication server which used by the dvpn server to authenticate
                dvpn client.
            "
        ::= { h3cDvpnPolicyEntry 9 }

    h3cDvpnPoRefTimes OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The total times of the policy being used by dvpn.
            "
        ::= { h3cDvpnPolicyEntry 10 }

    h3cDvpnPoRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                The status of this conceptual row.
                We support the characteristic of active(1),createAndGo(4),destroy(6).
            "
        ::= { h3cDvpnPolicyEntry 11 }



--h3cDvpnDomainInfoTable

    h3cDvpnDomainInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF H3cDvpnDomainInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The dvpn domain table.
            "
        ::= { h3cDvpnMibTableTroop 2 }

    h3cDvpnDomainInfoEntry OBJECT-TYPE
        SYNTAX H3cDvpnDomainInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The entry of h3cDvpnDomainInfoTable.
            "
        INDEX { h3cDvpnDomainID }
        ::= { h3cDvpnDomainInfoTable 1 }

    H3cDvpnDomainInfoEntry ::=
        SEQUENCE
        {
            h3cDvpnDomainID                       Integer32,
            h3cDvpnDomainSessionNum               Unsigned32,
            h3cDvpnDomainRedirectNum              Unsigned32,
            h3cDvpnDomainInputPkt                 Unsigned32,
            h3cDvpnDomainDropPkt                  Unsigned32,
            h3cDvpnDomainOutputPkt                Unsigned32,
            h3cDvpnDomainOutputErrorPkt           Unsigned32,
            h3cDvpnDomainEncryptErrorPkt          Unsigned32
        }

    h3cDvpnDomainID OBJECT-TYPE
        SYNTAX Integer32(1..65535)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                Dvpn domain ID.
            "
        ::= { h3cDvpnDomainInfoEntry 1 }

    h3cDvpnDomainSessionNum OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of session in this dvpn domain.
            "
        ::= { h3cDvpnDomainInfoEntry 2 }

    h3cDvpnDomainRedirectNum OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
               The number of redirect packets in this dvpn domain.
            "
        ::= { h3cDvpnDomainInfoEntry 3 }

    h3cDvpnDomainInputPkt OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
               The number of input packets in this dvpn domain.
            "
        ::= { h3cDvpnDomainInfoEntry 4 }

    h3cDvpnDomainDropPkt OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of drop packets in this dvpn domain.
            "
        ::= { h3cDvpnDomainInfoEntry 5 }

    h3cDvpnDomainOutputPkt OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of output packets in this dvpn domain.
            "
        ::= { h3cDvpnDomainInfoEntry 6 }

    h3cDvpnDomainOutputErrorPkt OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of output error packets in this dvpn domain.
            "
        ::= { h3cDvpnDomainInfoEntry 7 }

    h3cDvpnDomainEncryptErrorPkt OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The number of encrypt error packets in this dvpn domain.
            "
        ::= { h3cDvpnDomainInfoEntry 8 }





--h3cDvpnClassTable

    h3cDvpnClassTable OBJECT-TYPE
        SYNTAX SEQUENCE OF H3cDvpnClassEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The Dvpn class table.
                It is only used on dvpn client.
            "
        ::= { h3cDvpnMibTableTroop 3 }

    h3cDvpnClassEntry OBJECT-TYPE
        SYNTAX H3cDvpnClassEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The entry of the h3cDvpnClassTable.
            "
        INDEX { h3cDvpnClassName }
        ::= { h3cDvpnClassTable 1 }

    H3cDvpnClassEntry ::=
        SEQUENCE {
            h3cDvpnClassName                 OCTET STRING,
            h3cDvpnClServerPublicIpType      InetAddressType,
            h3cDvpnClServerPublicIp          InetAddress,
            h3cDvpnClServerPriIpType         InetAddressType,
            h3cDvpnClServerPriIp             InetAddress,
            h3cDvpnClAlgorithmSuite          DvpnAlgorithmSuite,
            h3cDvpnClAuthenServerType        INTEGER,
            h3cDvpnClPreShareKey             OCTET STRING,
            h3cDvpnClUserName                OCTET STRING,
            h3cDvpnClPwdEncrypted            INTEGER,
            h3cDvpnClPasswd                  OCTET STRING,
            h3cDvpnClassRowStatus            RowStatus
        }

    h3cDvpnClassName OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(1..31))
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The dvpn class name. It is the index of h3cDvpnClassTable.
            "
        ::= { h3cDvpnClassEntry  1 }

    h3cDvpnClServerPublicIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                Dvpn server public ip type (ipv4, ipv6).
            "
        ::= { h3cDvpnClassEntry  2 }

    h3cDvpnClServerPublicIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                Dvpn server public ip address.
            "
        ::= { h3cDvpnClassEntry  3 }

    h3cDvpnClServerPriIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                Dvpn server private ip type (ipv4, ipv6).
            "
        ::= { h3cDvpnClassEntry  4 }

    h3cDvpnClServerPriIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                Dvpn server private ip address.
            "
        ::= { h3cDvpnClassEntry  5 }

    h3cDvpnClAlgorithmSuite OBJECT-TYPE
        SYNTAX DvpnAlgorithmSuite
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                The algorithm suite used by the client when sending registry
                packets to the server.
                'dvpnAlgorithmNone' is not supported here.
            "
        DEFVAL { dvpnDesCbcMd5PreShaModp768 }
        ::= { h3cDvpnClassEntry  6 }

    h3cDvpnClAuthenServerType OBJECT-TYPE
        SYNTAX INTEGER
            {
                none(1),
                preShareKey(2)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                The authentication type being used by client to server.
                The value is decided by the class configuration of the user.
                The default value is none.
            "
        DEFVAL { none }
        ::= { h3cDvpnClassEntry  7 }

    h3cDvpnClPreShareKey OBJECT-TYPE
        SYNTAX OCTET STRING(SIZE(0..127))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                Dvpn PreShareKey.
                It is used when the method used by client when authenticating
                server is pre-share-key, only when the value of the key is the
                same as that on the server, the client can authenticate server
                successfully.
            "
        ::= { h3cDvpnClassEntry  8 }

    h3cDvpnClUserName OBJECT-TYPE
        SYNTAX OCTET STRING(SIZE(0..80))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                Dvpn UserName. It is configured by the user.
            "
        ::= { h3cDvpnClassEntry  9 }

    h3cDvpnClPwdEncrypted OBJECT-TYPE
        SYNTAX INTEGER
            {
                simple(1),
                cipher(2)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                Dvpn password encrypted or not.
            "
        ::= { h3cDvpnClassEntry  10 }

    h3cDvpnClPasswd OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                Dvpn password. It is configured by the user.
            "
        ::= { h3cDvpnClassEntry  11 }

    h3cDvpnClassRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "
                The status of this conceptual row.
                Only 'active', 'createAndGo' and 'destroy' are supported.
            "
        ::= { h3cDvpnClassEntry  12 }


--h3cDvpnTunnelTable

    h3cDvpnTunnelTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF H3cDvpnTunnelEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "
                The dvpn tunnel table.
            "
        ::= { h3cDvpnMibTableTroop 4 }

    h3cDvpnTunnelEntry OBJECT-TYPE
        SYNTAX     H3cDvpnTunnelEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "
                The Entry of h3cDvpnTunnelTable.
            "
        INDEX { ifIndex }
        ::= { h3cDvpnTunnelTable 1 }

    H3cDvpnTunnelEntry ::= SEQUENCE {
        h3cDvpnTunnelInterfaceType      INTEGER,
        h3cDvpnTunnelAcl                Integer32,
        h3cDvpnTunnelClientRegType      INTEGER,
        h3cDvpnTunnelDvpnId             Integer32,
        h3cDvpnTunnelPolicy             OCTET STRING,
        h3cDvpnTunnelClass              OCTET STRING
    }


    h3cDvpnTunnelInterfaceType OBJECT-TYPE
        SYNTAX     INTEGER
            {
                client(1),
                server(2)
            }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "
                The type of dvpn tunnel (client or server).
            "
        DEFVAL { client }
        ::= { h3cDvpnTunnelEntry 1 }

    h3cDvpnTunnelAcl OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "
                The security acl used by the tunnel.
                If a packet permits the rules, it will not be encrypted.
            "
        ::= { h3cDvpnTunnelEntry 2 }

    h3cDvpnTunnelClientRegType OBJECT-TYPE
        SYNTAX     INTEGER
            {
                undistributed(1),
                forward(2),
                undistributedandforward(3),
                normal(4)
            }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "
                The register type used by the client .
                Only the interface type is client, it can be used.
                undistributed: If a client send a packet to the client with
                this configuration, setver will only forward the packet whitout
                sending redirect packets.

                forward: The client with this configuration will only send packets
                forwarded by server, which means it can not initiate to build
                a session with other clients.
                undistributedandforward: The client with this configuration have
                the characteristics of both 'forward' and 'undistributed'.
                normal: The client with this configuration can build session with
                other clients without any restriction.
            "
        DEFVAL { normal }
        ::= { h3cDvpnTunnelEntry 3 }

    h3cDvpnTunnelDvpnId OBJECT-TYPE
        SYNTAX     Integer32(0..65535)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "
                The dvpn ID used by the tunnel.
                The dvpn ID is 0 means that user does not configure dvpn ID.
                User can not configure a dvpn ID with 0.
            "
        DEFVAL { 0 }
        ::= { h3cDvpnTunnelEntry 4 }

    h3cDvpnTunnelPolicy OBJECT-TYPE
        SYNTAX     OCTET STRING(SIZE(0..31))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "
                The dvpn policy used by the tunnel.
                Only the interface type is server, it can be used.
            "
        ::= { h3cDvpnTunnelEntry 5 }

    h3cDvpnTunnelClass OBJECT-TYPE
        SYNTAX     OCTET STRING(SIZE(0..31))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "
                The dvpn class used by the tunnel.
                Only the interface type is client, it can be used.
            "
        ::= { h3cDvpnTunnelEntry 6 }


--h3cDvpnMapTable

    h3cDvpnMapTable OBJECT-TYPE
        SYNTAX SEQUENCE OF H3cDvpnMapEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The dvpn map table.
            "
        ::= { h3cDvpnMibTableTroop 5 }

    h3cDvpnMapEntry OBJECT-TYPE
        SYNTAX H3cDvpnMapEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The entry of the h3cDvpnMapTable.
            "
        INDEX { h3cDvpnMapIndex }
        ::= { h3cDvpnMapTable 1 }

    H3cDvpnMapEntry ::=
        SEQUENCE {
            h3cDvpnMapIndex                       Unsigned32,
            h3cDvpnMapPeerDeviceId                OCTET STRING,
            h3cDvpnMapDvpnId                      Unsigned32,
            h3cDvpnMapBuildTime                   TimeTicks,
            h3cDvpnMapPeerPriIpType               InetAddressType,
            h3cDvpnMapPeerPriIp                   InetAddress,
            h3cDvpnMapPeerPublicIpType            InetAddressType,
            h3cDvpnMapPeerPublicIp                InetAddress,
            h3cDvpnMapLocalPriIpType              InetAddressType,
            h3cDvpnMapLocalPriIp                  InetAddress,
            h3cDvpnMapLocalPublicIpType           InetAddressType,
            h3cDvpnMapLocalPublicIp               InetAddress,
            h3cDvpnMapUserName                    OCTET STRING,
            h3cDvpnMapUdpPort                     Integer32,
            h3cDvpnMapControlId                   Unsigned32,
            h3cDvpnMapType                        DvpnCommunicateType,
            h3cDvpnMapState                       INTEGER
        }

    h3cDvpnMapIndex OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "
                The index of h3cDvpnMapTable.
            "
        ::= { h3cDvpnMapEntry 1 }

    h3cDvpnMapPeerDeviceId OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The identifier of peer device.
                It is a string.
            "
        ::= { h3cDvpnMapEntry 2 }

    h3cDvpnMapDvpnId OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The ID of the dvpn domain which the map belongs to.
                The dvpn ID is 0 means that the map has not been built.
                It has not gotten the dvpn ID at that time.
            "
        ::= { h3cDvpnMapEntry 3 }

    h3cDvpnMapBuildTime OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The time of the map created, the unit is second.
            "
        ::= { h3cDvpnMapEntry 4 }

    h3cDvpnMapPeerPriIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The private ip type (ipv4, ipv6) of map peer device.
            "
        ::= { h3cDvpnMapEntry 5 }

    h3cDvpnMapPeerPriIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The private ip of map peer device.
            "
        ::= { h3cDvpnMapEntry 6 }

    h3cDvpnMapPeerPublicIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The public ip type (ipv4, ipv6) of map peer device.
            "
        ::= { h3cDvpnMapEntry 7 }

    h3cDvpnMapPeerPublicIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The public ip of map peer device.
            "
        ::= { h3cDvpnMapEntry 8 }

    h3cDvpnMapLocalPriIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The private ip type (ipv4, ipv6) of map local device.
            "
        ::= { h3cDvpnMapEntry 9 }

    h3cDvpnMapLocalPriIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The private ip of map local device.
            "
        ::= { h3cDvpnMapEntry 10 }

    h3cDvpnMapLocalPublicIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The public ip type (ipv4, ipv6) of map local device.
            "
        ::= { h3cDvpnMapEntry 11 }

    h3cDvpnMapLocalPublicIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The public ip of map local device.
            "
        ::= { h3cDvpnMapEntry 12 }

    h3cDvpnMapUserName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The user name used by the client registering to server.
                If the client is not been authenticated, this is a null string.
            "
        ::= { h3cDvpnMapEntry 13 }

    h3cDvpnMapUdpPort OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The udp port used by map peer device.
            "
        ::= { h3cDvpnMapEntry 14 }

    h3cDvpnMapControlId OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                Dvpn map control ID.
            "
        ::= { h3cDvpnMapEntry 15 }

    h3cDvpnMapType OBJECT-TYPE
        SYNTAX DvpnCommunicateType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The type of the map.
                'clientToclient' is not supported here.
            "
        ::= { h3cDvpnMapEntry 16 }

    h3cDvpnMapState OBJECT-TYPE
        SYNTAX INTEGER
            {
                mapClientInit(1),
                mapClientBegin(2),
                mapClientAlgreq(3),
                mapClientKexReq(4),
                mapClientAuthenReq(5),
                mapClientConfigReq(6),
                mapClientReq(7),
                mapClientSuccess(8),
                mapServerBegin(9),
                mapServerAlgorithm(10),
                mapServerKexInit(11),
                mapServerAuthenInit(12),
                mapServerConfigInit(13),
                mapServerInit(14),
                mapServerFinished(15)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                mapClientInit: The client initiates the map.
                mapClientBegin: The client begins the process of registering
                                to the server.
                mapClientAlgreq: The client requests to negotiate the algorithm.
                mapClientKexReq: The client requests to negotiate the key.
                mapClientAuthenReq: The client sends authentication information
                                    to the server.
                mapClientConfigReq: The client requests to get some configuration
                                    information from the server. Do not support now.
                mapClientReq: The client requests to register to the server.
                mapClientSuccess: The client registers to the server successfully.
                mapServerBegin: The server begins the process of receive a new register.
                mapServerAlgorithm:The sever begins to negotiate Algorithm.
                mapServerKexInit: The server replys to the algorithm negotiation
                                  packet from the client successfully and begin
                                  to negotiate key.
                mapServerAuthenInit: The server replys to the key negotiation
                                     packet from the client successfully and
                                     begin to authenticate client, in the case of
                                     the authentication-client method is not none.
                mapServerConfigInit: The server send some configuration information
                                     to client. Do not support now.
                mapServerInit: The server replys to the authentication packet
                               from the client successfully and begin to receive
                               client information.
                mapServerFinished: The server receives client information successfully.
            "
        ::= { h3cDvpnMapEntry 17 }



--h3cDvpnSessionTable

    h3cDvpnSessionTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF H3cDvpnSessionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The dvpn session table.
            "
        ::= { h3cDvpnMibTableTroop 6 }

    h3cDvpnSessionEntry OBJECT-TYPE
        SYNTAX H3cDvpnSessionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "
                The entry of h3cDvpnSessionTable.
            "
        INDEX { h3cDvpnSessionDvpnId,
                h3cDvpnSessionPeerPriIpType,
                h3cDvpnSessionPeerPriIp
              }
        ::= { h3cDvpnSessionTable 1 }

    H3cDvpnSessionEntry ::=
        SEQUENCE {
            h3cDvpnSessionDvpnId                          Integer32,
            h3cDvpnSessionPeerPriIpType                   InetAddressType,
            h3cDvpnSessionPeerPriIp                       InetAddress,
            h3cDvpnSessionPeerDeviceId                    OCTET STRING,
            h3cDvpnSessionBuildTime                       TimeTicks,
            h3cDvpnSessionPeerPubIpType                   InetAddressType,
            h3cDvpnSessionPeerPubIp                       InetAddress,
            h3cDvpnSessionLocalPubIpType                  InetAddressType,
            h3cDvpnSessionLocalPubIp                      InetAddress,
            h3cDvpnSessionLocalPriIpType                  InetAddressType,
            h3cDvpnSessionLocalPriIp                      InetAddress,
            h3cDvpnSessionPeerUdpPort                     Integer32,
            h3cDvpnSessionInitiator                       INTEGER,
            h3cDvpnSessionUserName                        OCTET STRING,
            h3cDvpnSessionState                           INTEGER,
            h3cDvpnSessionType                            DvpnCommunicateType,
            h3cDvpnSessionPeerType                        INTEGER
        }

    h3cDvpnSessionDvpnId OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "
                The ID of the dvpn domain which the session belongs to.
            "
        ::= { h3cDvpnSessionEntry 1 }

    h3cDvpnSessionPeerPriIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "
               The private ip type (ipv4, ipv6) of session peer device.
            "
        ::= { h3cDvpnSessionEntry 2 }

    h3cDvpnSessionPeerPriIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "
                The private ip of the session peer device.
            "
        ::= { h3cDvpnSessionEntry 3 }

    h3cDvpnSessionPeerDeviceId OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The device ID of session peer device.
                It is a string.
            "
        ::= { h3cDvpnSessionEntry 4 }

    h3cDvpnSessionBuildTime OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The time of the Session being built, the unit is second.
            "
        ::= { h3cDvpnSessionEntry 5 }

    h3cDvpnSessionPeerPubIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The public ip type (ipv4, ipv6) of session peer device.
            "
        ::= { h3cDvpnSessionEntry 6 }

    h3cDvpnSessionPeerPubIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The public ip of session peer device.
            "
        ::= { h3cDvpnSessionEntry 7 }


    h3cDvpnSessionLocalPubIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
               The public ip type (ipv4, ipv6) of session local device.
            "
        ::= { h3cDvpnSessionEntry 8 }

    h3cDvpnSessionLocalPubIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
               The public ip of session local device.
            "
        ::= { h3cDvpnSessionEntry 9 }

    h3cDvpnSessionLocalPriIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
               The private ip type (ipv4, ipv6) of session local device.
            "
        ::= { h3cDvpnSessionEntry 10 }

    h3cDvpnSessionLocalPriIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
               The private ip of session local device.
            "
        ::= { h3cDvpnSessionEntry 11 }

    h3cDvpnSessionPeerUdpPort OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
               The udp port used by session peer device .
            "
        ::= { h3cDvpnSessionEntry 12 }

    h3cDvpnSessionInitiator OBJECT-TYPE
        SYNTAX INTEGER
            {
                yes(1),
                no(2)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The flag of initiator.
            "
        ::= { h3cDvpnSessionEntry 13 }

    h3cDvpnSessionUserName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The user's name.
                If the session type is client to client,
                the value of this object is a null string.
            "
        ::= { h3cDvpnSessionEntry 14 }

    h3cDvpnSessionState OBJECT-TYPE
        SYNTAX INTEGER
            {
                 sessionSetupInit(1),
                 sessionSetupReq(2),
                 sessionSetupSuccess(3),
                 sessionRekeyReq(4),
                 sessionRekeyRep(5)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The state of the session.
                sessionSetupInit: The initiation of the session.
                sessionSetupReq: The initiator requests to negotiate the SA and
                                 so on of the session.
                sessionSetupSuccess: The session has been built successfully.
                sessionRekeyReq: The initiator requests to renegotiate the SA.
                sessionRekeyRep: The passive side replies with a SA renegotiation
                                 response packet successfully.
            "
        ::= { h3cDvpnSessionEntry 15 }

    h3cDvpnSessionType OBJECT-TYPE
        SYNTAX DvpnCommunicateType
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The type of the session.
            "
        ::= { h3cDvpnSessionEntry 16 }

    h3cDvpnSessionPeerType OBJECT-TYPE
        SYNTAX INTEGER
            {
                router(1),
                pcClient(2)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The type of the session peer device.
                It may be client software or a router.
            "
        ::= { h3cDvpnSessionEntry 17 }


--h3cDvpnSessionHisTable

    h3cDvpnSessionHisTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF H3cDvpnSessionHisEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "
                The dvpn session history table.
                This table contains session's history information,
                include input/output packet number, up/down time, etc.
                This table will exist during the 'h3cDvpnSessionHisAgeTime'.
            "
        ::= { h3cDvpnMibTableTroop 7 }

    h3cDvpnSessionHisEntry OBJECT-TYPE
        SYNTAX     H3cDvpnSessionHisEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "
                The entry of h3cDvpnSessionHisTable.
            "
        INDEX { h3cDvpnSessionHisDvpnID,
                h3cDvpnSessionHisPeerPriIPType,
                h3cDvpnSessionHisPeerPriIP }
        ::= { h3cDvpnSessionHisTable 1 }

    H3cDvpnSessionHisEntry ::= SEQUENCE {
        h3cDvpnSessionHisDvpnID           Integer32,
        h3cDvpnSessionHisPeerPriIPType    InetAddressType,
        h3cDvpnSessionHisPeerPriIP        InetAddress,
        h3cDvpnSessionHisSendPkt          Unsigned32,
        h3cDvpnSessionHisRcvPkt           Unsigned32,
        h3cDvpnSessionHisOnlineNumber     Unsigned32,
        h3cDvpnSessionHisFirstUpTime      TimeTicks,
        h3cDvpnSessionHisLastUpTime       TimeTicks,
        h3cDvpnSessionHisLastDownTime     TimeTicks,
        h3cDvpnSessionHisOnlineFlag       INTEGER,
        h3cDvpnSessionHisPeerDeviceId     OCTET STRING
     }


    h3cDvpnSessionHisDvpnID OBJECT-TYPE
        SYNTAX     Integer32(1..65535)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "
                The ID of the dvpn domain which the session belongs to.
            "
        ::= { h3cDvpnSessionHisEntry 1 }

    h3cDvpnSessionHisPeerPriIPType OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "
                The private ip type (ipv4, ipv6) of session peer device.
            "
        ::= { h3cDvpnSessionHisEntry 2 }

    h3cDvpnSessionHisPeerPriIP OBJECT-TYPE
        SYNTAX     InetAddress
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "
                 The private ip of the session peer device.
            "
        ::= { h3cDvpnSessionHisEntry 3 }

    h3cDvpnSessionHisSendPkt OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "
                The number of sent packets on the session.
            "
        ::= { h3cDvpnSessionHisEntry 4 }

    h3cDvpnSessionHisRcvPkt OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "
                The number of received packets on the session.
            "
        ::= { h3cDvpnSessionHisEntry 5 }

    h3cDvpnSessionHisOnlineNumber OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "
                The number of the session online.
            "
        ::= { h3cDvpnSessionHisEntry 6 }

    h3cDvpnSessionHisFirstUpTime OBJECT-TYPE
        SYNTAX     TimeTicks
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "
                The session first online time.
            "
        ::= { h3cDvpnSessionHisEntry 7 }


    h3cDvpnSessionHisLastUpTime OBJECT-TYPE
        SYNTAX     TimeTicks
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "
                The session last online time.
            "
        ::= { h3cDvpnSessionHisEntry 8 }

    h3cDvpnSessionHisLastDownTime OBJECT-TYPE
        SYNTAX     TimeTicks
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "
                The session last down time.
            "
        ::= { h3cDvpnSessionHisEntry 9 }


    h3cDvpnSessionHisOnlineFlag OBJECT-TYPE
        SYNTAX     INTEGER
            {
                yes(1),
                no(2)
            }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "
                If the session is online, the value is 'yes'.
                If the session is not online, the value is 'no'.
            "
        ::= { h3cDvpnSessionHisEntry 10 }

    h3cDvpnSessionHisPeerDeviceId OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "
                The identifier of peer device.
                It is a string.
            "
        ::= { h3cDvpnSessionHisEntry 11 }



 --h3cDvpnMibTrap

    h3cDvpnNotification OBJECT IDENTIFIER ::= { h3cDvpnMibNotification 0 }

    h3cDvpnSessionBuildNotification NOTIFICATION-TYPE
        OBJECTS {
            h3cDvpnSessionDvpnId,
            h3cDvpnSessionPeerPriIpType,
            h3cDvpnSessionPeerPriIp,
            h3cDvpnLocalDeviceId,
            h3cDvpnSessionLocalPriIpType,
            h3cDvpnSessionLocalPriIp,
            h3cDvpnSessionLocalPubIpType,
            h3cDvpnSessionLocalPubIp,
            h3cDvpnSessionPeerDeviceId,
            h3cDvpnSessionPeerPubIpType,
            h3cDvpnSessionPeerPubIp,
            h3cDvpnSessionPeerUdpPort,
            h3cDvpnSessionPeerType,
            h3cDvpnSessionUserName
        }
        STATUS current
        DESCRIPTION
            "
                Dvpn session build notification.
            "
        ::= { h3cDvpnNotification 1 }

    h3cDvpnSessionDelNotification NOTIFICATION-TYPE
        OBJECTS {
            h3cDvpnSessionDvpnId,
            h3cDvpnSessionPeerPriIpType,
            h3cDvpnSessionPeerPriIp,
            h3cDvpnLocalDeviceId,
            h3cDvpnSessionLocalPriIpType,
            h3cDvpnSessionLocalPriIp,
            h3cDvpnSessionLocalPubIpType,
            h3cDvpnSessionLocalPubIp,
            h3cDvpnSessionPeerDeviceId,
            h3cDvpnSessionPeerPubIpType,
            h3cDvpnSessionPeerPubIp,
            h3cDvpnSessionPeerUdpPort,
            h3cDvpnSessionPeerType,
            h3cDvpnSessionUserName
        }
        STATUS current
        DESCRIPTION
            "
                Dvpn session deleted notification.
            "
        ::= { h3cDvpnNotification 2 }

    h3cDvpnMapBuildNotification NOTIFICATION-TYPE
        OBJECTS {
            h3cDvpnMapIndex,
            h3cDvpnMapDvpnId,
            h3cDvpnMapPeerDeviceId,
            h3cDvpnMapPeerPriIpType,
            h3cDvpnMapPeerPriIp,
            h3cDvpnMapPeerPublicIpType,
            h3cDvpnMapPeerPublicIp,
            h3cDvpnLocalDeviceId,
            h3cDvpnMapLocalPriIpType,
            h3cDvpnMapLocalPriIp,
            h3cDvpnMapLocalPublicIpType,
            h3cDvpnMapLocalPublicIp,
            h3cDvpnMapUserName
        }
        STATUS current
        DESCRIPTION
            "
                Dvpn map build notification.
            "
        ::= { h3cDvpnNotification 3 }

    h3cDvpnMapDelNotification NOTIFICATION-TYPE
        OBJECTS {
            h3cDvpnMapIndex,
            h3cDvpnMapDvpnId,
            h3cDvpnMapPeerDeviceId,
            h3cDvpnMapPeerPriIpType,
            h3cDvpnMapPeerPriIp,
            h3cDvpnMapPeerPublicIpType,
            h3cDvpnMapPeerPublicIp,
            h3cDvpnLocalDeviceId,
            h3cDvpnMapLocalPriIpType,
            h3cDvpnMapLocalPriIp,
            h3cDvpnMapLocalPublicIpType,
            h3cDvpnMapLocalPublicIp,
            h3cDvpnMapUserName
        }
        STATUS current
        DESCRIPTION
            "
                Dvpn map deleted notification.
            "
        ::= { h3cDvpnNotification 4 }


--conformance and Compliance define

    h3cDvpnMibCompliances OBJECT IDENTIFIER ::= { h3cDvpnMibConformance 1 }

    h3cDvpnMibCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "
                The compliance statement for entities which implement
                the DVPN MIB.
            "
        MODULE
            MANDATORY-GROUPS {
                h3cDvpnGlobalGroup,
                h3cDvpnDomainInfoGroup,
                h3cDvpnPolicyGroup,
                h3cDvpnClassGroup,
                h3cDvpnTunnelGroup,
                h3cDvpnMapGroup,
                h3cDvpnSessionGroup,
                h3cDvpnSessionHisGroup,
                h3cDvpnNotificationGroup
            }
        ::= { h3cDvpnMibCompliances 1 }

    h3cDvpnMibGroups OBJECT IDENTIFIER ::= { h3cDvpnMibConformance 2 }

    h3cDvpnGlobalGroup OBJECT-GROUP
        OBJECTS {
            h3cDvpnServiceEnable,
            h3cDvpnClassNumber,
            h3cDvpnClientNumber,
            h3cDvpnMapAgeTime,
            h3cDvpnClientRegisterInterval,
            h3cDvpnClientRegisterDumb,
            h3cDvpnClientRegisterRetry,
            h3cDvpnInputPkt,
            h3cDvpnDropPkt,
            h3cDvpnOutputPkt,
            h3cDvpnOutputErrorPkt,
            h3cDvpnEncryptErrorPkt,
            h3cDvpnCurrentDeviceRole,
            h3cDvpnDomainNumber,
            h3cDvpnMapNumber,
            h3cDvpnSessionNumber,
            h3cDvpnServerPreSharedKey,
            h3cDvpnMapTrapEnable,
            h3cDvpnSessionTrapEnable,
            h3cDvpnVersion,
            h3cDvpnClearDomainAllConection,
            h3cDvpnClearDvpnStaInfo,
            h3cDvpnTotalRedirectNumber,
            h3cDvpnGlobalAuthenClientType,
            h3cDvpnGlobalUserDefAAADomain,
            h3cDvpnLocalDeviceId,
            h3cDvpnSessionHisAgeTime,
            h3cDvpnSessionHisReset
        }
        STATUS current
        DESCRIPTION
            "
                A collection of objects providing dvpn global information.
            "
        ::= { h3cDvpnMibGroups 1 }

    h3cDvpnPolicyGroup OBJECT-GROUP
        OBJECTS {
            h3cDvpnPoAuthenClientType,
            h3cDvpnPoSessionAlgorithmSuite,
            h3cDvpnPoSessionIdleTime,
            h3cDvpnPoSessionKeepTime,
            h3cDvpnPoSessionSetupInterval,
            h3cDvpnPoDataAlgorithmSuite,
            h3cDvpnPoSaSeconds,
            h3cDvpnPoUserDefAAADomain,
            h3cDvpnPoRefTimes,
            h3cDvpnPoRowStatus
        }
        STATUS current
        DESCRIPTION
            "
                A collection of objects providing dvpn policy information.
            "
        ::= { h3cDvpnMibGroups 2 }

    h3cDvpnDomainInfoGroup OBJECT-GROUP
        OBJECTS {
            h3cDvpnDomainSessionNum,
            h3cDvpnDomainRedirectNum,
            h3cDvpnDomainInputPkt,
            h3cDvpnDomainDropPkt,
            h3cDvpnDomainOutputPkt,
            h3cDvpnDomainOutputErrorPkt,
            h3cDvpnDomainEncryptErrorPkt
        }
        STATUS current
        DESCRIPTION
            "
                A collection of objects providing dvpn domain information.
            "
        ::= { h3cDvpnMibGroups 3 }

    h3cDvpnClassGroup OBJECT-GROUP
        OBJECTS {
            h3cDvpnClServerPublicIpType,
            h3cDvpnClServerPublicIp,
            h3cDvpnClServerPriIpType,
            h3cDvpnClServerPriIp,
            h3cDvpnClAlgorithmSuite,
            h3cDvpnClAuthenServerType,
            h3cDvpnClPreShareKey,
            h3cDvpnClUserName,
            h3cDvpnClPwdEncrypted,
            h3cDvpnClPasswd,
            h3cDvpnClassRowStatus
        }
        STATUS current
        DESCRIPTION
            "
                A collection of objects providing dvpn class information.
            "
        ::= { h3cDvpnMibGroups 4 }

    h3cDvpnTunnelGroup OBJECT-GROUP
        OBJECTS {
            h3cDvpnTunnelInterfaceType,
            h3cDvpnTunnelAcl,
            h3cDvpnTunnelClientRegType,
            h3cDvpnTunnelDvpnId,
            h3cDvpnTunnelPolicy,
            h3cDvpnTunnelClass
        }
        STATUS current
        DESCRIPTION
            "
                A collection of objects providing dvpn tunnel interface information.
            "
        ::= { h3cDvpnMibGroups 5 }

    h3cDvpnMapGroup OBJECT-GROUP
        OBJECTS {
            h3cDvpnMapIndex,
            h3cDvpnMapPeerDeviceId,
            h3cDvpnMapDvpnId,
            h3cDvpnMapBuildTime,
            h3cDvpnMapPeerPriIpType,
            h3cDvpnMapPeerPriIp,
            h3cDvpnMapPeerPublicIpType,
            h3cDvpnMapPeerPublicIp,
            h3cDvpnMapLocalPriIpType,
            h3cDvpnMapLocalPriIp,
            h3cDvpnMapLocalPublicIpType,
            h3cDvpnMapLocalPublicIp,
            h3cDvpnMapUserName,
            h3cDvpnMapUdpPort,
            h3cDvpnMapControlId,
            h3cDvpnMapType,
            h3cDvpnMapState
        }
        STATUS current
        DESCRIPTION
            "
                A collection of objects providing dvpn map information.
            "
        ::= { h3cDvpnMibGroups 6 }

    h3cDvpnSessionGroup OBJECT-GROUP
        OBJECTS {
            h3cDvpnSessionDvpnId,
            h3cDvpnSessionPeerDeviceId,
            h3cDvpnSessionBuildTime,
            h3cDvpnSessionPeerPubIpType,
            h3cDvpnSessionPeerPubIp,
            h3cDvpnSessionPeerPriIpType,
            h3cDvpnSessionPeerPriIp,
            h3cDvpnSessionLocalPubIpType,
            h3cDvpnSessionLocalPubIp,
            h3cDvpnSessionLocalPriIpType,
            h3cDvpnSessionLocalPriIp,
            h3cDvpnSessionPeerUdpPort,
            h3cDvpnSessionInitiator,
            h3cDvpnSessionUserName,
            h3cDvpnSessionState,
            h3cDvpnSessionType,
            h3cDvpnSessionPeerType
        }
        STATUS current
        DESCRIPTION
            "
                A collection of objects providing dvpn session information.
            "
        ::= { h3cDvpnMibGroups 7 }

    h3cDvpnSessionHisGroup OBJECT-GROUP
        OBJECTS {
            h3cDvpnSessionHisPeerPriIPType,
            h3cDvpnSessionHisSendPkt,
            h3cDvpnSessionHisRcvPkt,
            h3cDvpnSessionHisOnlineNumber,
            h3cDvpnSessionHisFirstUpTime,
            h3cDvpnSessionHisLastUpTime,
            h3cDvpnSessionHisLastDownTime,
            h3cDvpnSessionHisOnlineFlag,
            h3cDvpnSessionHisPeerDeviceId
        }
        STATUS current
        DESCRIPTION
            "
                A collection of objects providing dvpn session history information.
            "
        ::= { h3cDvpnMibGroups 8 }


    h3cDvpnNotificationGroup OBJECT-GROUP
        OBJECTS {
            h3cDvpnSessionBuildNotification,
            h3cDvpnSessionDelNotification,
            h3cDvpnMapBuildNotification,
            h3cDvpnMapDelNotification
        }
        STATUS current
        DESCRIPTION
            "
                A collection of objects providing dvpn notification information.
            "
        ::= { h3cDvpnMibGroups 9 }

END
