-- ============================================================================
-- Copyright (C) 2003 by  HUAWEI 3Com TECHNOLOGIES. All rights reserved.
--
-- Description: Huawei-3com Internetwork Packet Exchange MIB
-- Reference:
-- Version: V1.0
-- History:
-- V1.0     created by wanglu.
-- ============================================================================
H3C-IPX-MIB DEFINITIONS ::= BEGIN

-- ==================================================================
--
-- Variables and types be imported
--
-- ==================================================================

IMPORTS
    Integer32,MODULE-IDENTITY,OBJECT-TYPE,
    TimeTicks,Counter32
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus
        FROM SNMPv2-TC
    h3cCommon
        FROM  HUAWEI-3COM-OID-MIB;

-- ==================================================================
--
-- module identity part
--
-- ==================================================================

h3cIpx MODULE-IDENTITY
    LAST-UPDATED
        "200412241036Z"
    ORGANIZATION
        "Huawei 3Com Technologies Co.,Ltd."
    CONTACT-INFO
        "Mib Team
        Platform Team Huawei 3Com Technologies Co.,Ltd.
        Hai-Dian District Beijing P.R. China
        http://www.huawei-3com.com
        Zip:100085"
    DESCRIPTION
        "This mib defines management information used on products
        which support ipx protocol. It includes 4 parts:
            1.ipx interface configuration group - This group
        contains configurable management information and statistic
        information on each interface.
            2.rip group - Rip means route information protocol. This
        group contains configurable management information and
        route status and route statistic information.
            3.sap group - Sap means service access group. This group
        contains all service information.
            4.ipx statistics group - This group includes ipx statistic
        information on all interfaces."
   ::= { h3cCommon 34 }

-- =============================================================
-- Textual Conventions
-- =============================================================

EnabledStatus ::= TEXTUAL-CONVENTION
    STATUS    current
    DESCRIPTION
        "A simple status value for the object."
    SYNTAX    INTEGER { enabled(1), disabled(2) }

-- ==================================================================
--
-- =====================object definition begin======================
--
-- ==================================================================

h3cIpxConfig    OBJECT IDENTIFIER ::= { h3cIpx 1 }
h3cIpxRip       OBJECT IDENTIFIER ::= { h3cIpx 2 }
h3cIpxSap       OBJECT IDENTIFIER ::= { h3cIpx 3 }
h3cIpxStat      OBJECT IDENTIFIER ::= { h3cIpx 4 }

-- h3cIpxIfConfig contains configurable management information
-- on each interface.

h3cIpxStatus OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is used to enable or disable ipx globally."
    DEFVAL      { disabled }
    ::= { h3cIpxConfig 1 }

h3cIpxIfConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cIpxIfConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of configurable management information on each
        interface."
    ::= { h3cIpxConfig 2 }

h3cIpxIfConfigEntry OBJECT-TYPE
    SYNTAX      H3cIpxIfConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the table, containing management information
        about a single interface."
    INDEX       { h3cIpxIfIndex }
    ::= { h3cIpxIfConfigTable 1 }

H3cIpxIfConfigEntry ::=
    SEQUENCE {
        h3cIpxIfIndex                 Integer32,
        h3cIpxIfNetId                 OCTET STRING,
        h3cIpxIfNodeId                OCTET STRING,
        h3cIpxIfSplitHorizon          EnabledStatus,
        h3cIPxIfTick                  Integer32,
        h3cIpxIfUpdateChangeOnly      EnabledStatus,
        h3cIpxIfRipMtu                Integer32,
        h3cIpxIfEncapsuleType         INTEGER,
        h3cIpxIfNetbiosPropagation    EnabledStatus,
        h3cIpxIfSapStatus             EnabledStatus,
        h3cIpxIfSapMtu                Integer32,
        h3cIpxIfGnsReply              EnabledStatus,
        h3cIpxIfRowStatus             RowStatus
        }

-- node definition
h3cIpxIfIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This variable uniquely identifies the interface
        to which the configurations are applied."
    REFERENCE  "ifIndex"
    ::= { h3cIpxIfConfigEntry 1 }

h3cIpxIfNetId OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE(4))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The network number of the IPX address of this
        interface."
    ::= { h3cIpxIfConfigEntry 2 }

h3cIpxIfNodeId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(6))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The node number of the IPX address of this interface."
    ::= { h3cIpxIfConfigEntry 3 }

h3cIpxIfSplitHorizon OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This node is used to set the split horizon status.
        Its default value is 'enabled'. In this case, the interface
        which receives a message can't send this message from the
        same interface. This function can avoid route loop. But it
        is unused for point to point link. If it is set to
        'disabled', split horizon is disable."
    DEFVAL      { enabled }
    ::= { h3cIpxIfConfigEntry 4 }

h3cIPxIfTick OBJECT-TYPE
    SYNTAX      Integer32(1..30000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to set this interface's delay time.
        It is counted by ticks which is 1/18 second. By default,
        the ethernet interface's delay time is 1 tick,
        asynchronous serial interface's delay time is 30 ticks,
        WAN interface's delay time is 6 ticks."
    ::= { h3cIpxIfConfigEntry 5 }

h3cIpxIfUpdateChangeOnly OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "When this variable is set to 'enabled', updating change is
        on. And sap and rip will send updating packets periodically
        to avoid broadcast storm. Whereas updating change is
        off."
    DEFVAL      { disabled }
    ::= { h3cIpxIfConfigEntry 6 }

h3cIpxIfRipMtu OBJECT-TYPE
    SYNTAX      Integer32(432..1500)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This variable is used to define the max length of RIP
        updating packets."
    DEFVAL      { 432 }
    ::= { h3cIpxIfConfigEntry 7 }

h3cIpxIfEncapsuleType OBJECT-TYPE
    SYNTAX INTEGER {
                dot2(1),
                dot3(2),
                ethernet-2(3),
                snap(4),
                unkown(5)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This node is used to define the encapsulating form of
        IPX packets. 'dot2' indicates the form is 802.2, while 'dot3'
        means 802.3. And 'snap' indicates the form is ethernet-snap.
        It takes effect only on ethernet interface, and the default
        value is 'dot3', while 'unkown' for other types of port."
    DEFVAL      { dot3 }
    ::= { h3cIpxIfConfigEntry 8 }

h3cIpxIfNetbiosPropagation OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This node is used to configure whether the current interface
        can forward broadcasting packets which IPX type is 20 used 
        for NetBIOS."
    DEFVAL     { disabled }
    ::= { h3cIpxIfConfigEntry 9 }

h3cIpxIfSapStatus OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of sap on the current interface. It is enabled
        when ipx is enabled on this interface."
    DEFVAL      { enabled }
    ::= { h3cIpxIfConfigEntry 10 }

h3cIpxIfSapMtu OBJECT-TYPE
    SYNTAX      Integer32(480..1500)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This variable is used to define the max length of SAP
        refreshing packets."
    DEFVAL     { 480 }
    ::= { h3cIpxIfConfigEntry 11 }

h3cIpxIfGnsReply OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to enable or disable the current
        interface to response the IPX GNS request."
    DEFVAL     { enabled }
    ::= { h3cIpxIfConfigEntry 12 }

h3cIpxIfRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this row. To create a row, user can 
        select 'createAndGo'. If the row is created successfully, 
        this object will became 'active'. To delete one row, 
        user can select 'destory' and the row will be deleted."
    ::= { h3cIpxIfConfigEntry 13 }

-- rip group
-- basic configurable management information

h3cIpxRouteMultiplier OBJECT-TYPE
    SYNTAX      Integer32(1..1000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This node is used to calculate Rip aging time of route
        information.
        The absolute aging time =
        (h3cIpxRouteMultiplier * h3cIpxRouteUpdateTimer)."
    DEFVAL     { 3 }
    ::= { h3cIpxRip 1 }

h3cIpxRouteUpdateTimer OBJECT-TYPE
    SYNTAX      Integer32(10..60000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This node is used to set rip updating time which is based
        on seconds"
    DEFVAL     { 60 }
    ::= { h3cIpxRip 2 }

h3cIpxRouteImpRouteStatic OBJECT-TYPE
    SYNTAX     EnabledStatus
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This object determines whether static route can be imported."
    DEFVAL     { disabled }
    ::= { h3cIpxRip 3 }

h3cIpxRouteLoadBalancePaths OBJECT-TYPE
    SYNTAX      Integer32(1..64)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object defines the max equivalent paths to the same
        destination. If the newly defined value is smaller than the
        current value, the routes out of the new value will be set
        inactive."
    DEFVAL     { 1 }
    ::= { h3cIpxRip 4 }

h3cIpxRouteMaxResPaths OBJECT-TYPE
    SYNTAX      Integer32(1..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object defines the max dynamic routes to the same
        destination. If the newly defined value is smaller than the
        current value, the routes will not be deleted until they age
        out or are deleted manually."
    DEFVAL     { 4 }
    ::= { h3cIpxRip 5 }

-- h3cIpxRouteTable contains all ipx route information of
-- this system. There are all kinds of information in this table
-- including direct, rip, inactive, active, etc.

h3cIpxRouteTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cIpxRouteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains all dynamic and direct ipx route information
        of this system. The information of this table is read only."
    ::= { h3cIpxRip 6 }

h3cIpxRouteEntry OBJECT-TYPE
    SYNTAX      H3cIpxRouteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry includes a dynamic or direct route."
    INDEX      { h3cIpxRouteIndex }
    ::= { h3cIpxRouteTable 1 }

H3cIpxRouteEntry ::=
    SEQUENCE {
        h3cIpxRouteIndex
            Integer32,
        h3cIpxRouteDestNetId
            OCTET STRING,
        h3cIpxRouteNextHop
            OCTET STRING,
        h3cIpxRoutePro
            INTEGER,
        h3cIpxRoutePre
            Integer32,
        h3cIpxRouteTicks
            Integer32,
        h3cIpxRouteHops
            Integer32,
        h3cIpxRouteTime
            Integer32,
        h3cIpxRouteOutInterface
            OCTET STRING
        }

h3cIpxRouteIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object uniquely identifies a route."
    ::= { h3cIpxRouteEntry 1 }

h3cIpxRouteDestNetId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(4))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The destination network number of this route information,
        and its value ranges from 1 to 0xfffffffe."
    ::= { h3cIpxRouteEntry 2 }

h3cIpxRouteNextHop OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(10))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The next hop of this route."
    ::= { h3cIpxRouteEntry 3 }

h3cIpxRoutePro OBJECT-TYPE
    SYNTAX      INTEGER{
                    direct(1),
                    rip(2)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The protocol type of this route information."
    ::= { h3cIpxRouteEntry 4 }

h3cIpxRoutePre OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The preference of this route information. The direct route's
        preference is 0, and it can't be modified. Dynamic route's
        default preference is 100."
    ::= { h3cIpxRouteEntry 5 }

h3cIpxRouteTicks OBJECT-TYPE
    SYNTAX      Integer32(1..65534)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time, in ticks, that the packet takes to reach the destination."
    ::= { h3cIpxRouteEntry 6 }

h3cIpxRouteHops OBJECT-TYPE
    SYNTAX      Integer32(0..15)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object indicates the number of hops that the packet must be 
        passed through to reach the destination."
    ::= { h3cIpxRouteEntry 7 }

h3cIpxRouteTime OBJECT-TYPE
    SYNTAX      Integer32(0..60000000)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The aging time of this route information. The aging time of
        static and interface route information is 0."
    ::= { h3cIpxRouteEntry 8 }

h3cIpxRouteOutInterface OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..30))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The out interface of this route information."
    ::= { h3cIpxRouteEntry 9 }

-- h3cIpxStaticRouteTable contains all static route
-- information

h3cIpxStaticRouteTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cIpxStaticRouteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains all static ipx route information of
        this system."
    ::= { h3cIpxRip 7 }

h3cIpxStaticRouteEntry OBJECT-TYPE
    SYNTAX      H3cIpxStaticRouteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry includes one static route information."
    INDEX      { h3cIpxStaticRouteDestNetId,
                 h3cIpxStaticRouteNextHop }
    ::= { h3cIpxStaticRouteTable 1 }

H3cIpxStaticRouteEntry ::=
    SEQUENCE {
        h3cIpxStaticRouteDestNetId
            OCTET STRING,
        h3cIpxStaticRouteNextHop
            OCTET STRING,
        h3cIpxStaticRoutePre
            Integer32,
        h3cIpxStaticRouteOutIf
            OCTET STRING,
        h3cIpxStaticRouteTicks
            Integer32,
        h3cIpxStaticRouteHops
            Integer32,
        h3cIpxStaticRouteStatus
            INTEGER,
        h3cIpxStaticRouteRowStatus
            RowStatus
        }

h3cIpxStaticRouteDestNetId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(4))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index of Static Route Table. This object and
        h3cIpxStaticRouteNextHop uniquely identify a static route.
        The destination network number of this static route
        information,and its value ranges from 1 to 0xfffffffe.
        Note that the broadcast network number is 0xffffffff
        and is not allowed in IPX. The network number of
        0xfffffffe would be considered to be the network
        number of default route."
    ::= { h3cIpxStaticRouteEntry 1 }

h3cIpxStaticRouteNextHop OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(10))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The sub-index of Static Route Table. The next hop of
        this static route information."
    ::= { h3cIpxStaticRouteEntry 2 }

h3cIpxStaticRoutePre OBJECT-TYPE
    SYNTAX      Integer32(1..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The preference of this route information. Static route's
        preference is 60, and it can be configured."
    DEFVAL      { 60 }
    ::= { h3cIpxStaticRouteEntry 3 }

h3cIpxStaticRouteOutIf OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..30))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The out interface of this route. This interface can be serial
         or pos interface. "
    ::= { h3cIpxStaticRouteEntry 4 }

h3cIpxStaticRouteTicks OBJECT-TYPE
    SYNTAX      Integer32(1..65534)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The time, in ticks that the packet takes to reach the destination 
        with the static route."
    ::= { h3cIpxStaticRouteEntry 5 }

h3cIpxStaticRouteHops OBJECT-TYPE
    SYNTAX      Integer32(1..15)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates how many hops are needed to arrive
        at the destination network."
    DEFVAL      { 1 }
    ::= { h3cIpxStaticRouteEntry 6 }

h3cIpxStaticRouteStatus OBJECT-TYPE
    SYNTAX      INTEGER{
                    active(1),
                    inactive(2)
                    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this static route."
    ::= { h3cIpxStaticRouteEntry 7 }

h3cIpxStaticRouteRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this row. To create a row, user can 
        select 'createAndGo'. If the row is created successfully, 
        this object will became 'active'. To delete one row, 
        user can select 'destory' and the row will be deleted."
    ::= { h3cIpxStaticRouteEntry 8 }

-- h3cIpxRouteStatTable includes statistic route information

h3cIpxRouteStatTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cIpxRouteStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table includes all statistic route information."
    ::= { h3cIpxRip 8 }

h3cIpxRouteStatEntry OBJECT-TYPE
    SYNTAX      H3cIpxRouteStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry records a statistic information of route."
    INDEX      { h3cIpxRouteStatPro }
    ::= { h3cIpxRouteStatTable 1 }

H3cIpxRouteStatEntry ::=
    SEQUENCE {
        h3cIpxRouteStatPro
            INTEGER,
        h3cIpxRouteStatRoutes
            Counter32,
        h3cIpxRouteStatActives
            Counter32,
        h3cIpxRouteStatAddeds
            Counter32,
        h3cIpxRouteStatDeleteds
            Counter32,
        h3cIpxRouteStatFreeds
            Counter32
        }


h3cIpxRouteStatPro OBJECT-TYPE
    SYNTAX     INTEGER{
                   direct(1),
                   static(2),
                   rip(3),
                   default(4),
                   total(5)
                   }
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The protocol type of the route information. The value of
        'total' is the total amount of all kinds of IPX routes."
    ::= { h3cIpxRouteStatEntry 1 }

h3cIpxRouteStatRoutes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The route amount of the corresponding protocol type."
    ::= { h3cIpxRouteStatEntry 2 }

h3cIpxRouteStatActives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The active route amount of the corresponding protocol type."
    ::= { h3cIpxRouteStatEntry 3 }

h3cIpxRouteStatAddeds OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The added route amount of the corresponding protocol type."
    ::= { h3cIpxRouteStatEntry 4 }

h3cIpxRouteStatDeleteds OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The deleted but not freed route amount of the corresponding
        protocol type."
    ::= { h3cIpxRouteStatEntry 5 }

h3cIpxRouteStatFreeds OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The freed route amount of the corresponding protocol type."
    ::= { h3cIpxRouteStatEntry 6 }



-- sap group

-- basic configurable management information

h3cIpxSapMultiplier OBJECT-TYPE
    SYNTAX      Integer32(1..1000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This node is used to calculate aging time of service
        information.
        The absolute aging time =
        (h3cIpxSapMultiplier * h3cIpxSapUpdateTimer)."
    DEFVAL     { 3 }
    ::= { h3cIpxSap 1 }

h3cIpxSapUpdateTimer OBJECT-TYPE
    SYNTAX      Integer32(10..60000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This node is used to set service packet updating time which
        is based on seconds."
    DEFVAL      { 60 }
    ::= { h3cIpxSap 2 }

h3cIpxSapGnsLoadBalance OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is used to set whether the system will reply to the
        GNS request with the Round-Robin way. By default, the system will
        response to the GNS request with the servers known to the device
        in turn, preventing from the nearest server's over loading. With
        value of disabled, in this way, the system will response to the
        request with the nearest server(who has smallest hop in system's 
        service information table)."
    DEFVAL     { enabled }
    ::= { h3cIpxSap 3 }

h3cIpxSapMaxResServers OBJECT-TYPE
    SYNTAX      Integer32(1..2048)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is used to configure maximum number of servers of a type.
        If the newly defined value is smaller than the previous value, the
        information out of the value will not be deleted. If the queue reaches 
        to the maximum number, no new information can be added."
    DEFVAL      { 2048 }
    ::= { h3cIpxSap 4 }

-- h3cIpxServiceTable contains the service information

h3cIpxServiceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cIpxServiceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table inlcudes all dynamic service information.
        The dynamic service information can be read only."
    ::= { h3cIpxSap 5}

h3cIpxServiceEntry OBJECT-TYPE
    SYNTAX      H3cIpxServiceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "One entry records one service"
    INDEX       { h3cIpxServiceIndex }
    ::= { h3cIpxServiceTable 1 }

H3cIpxServiceEntry ::=
    SEQUENCE{
        h3cIpxServiceIndex
            Integer32,
        h3cIpxServiceName
            OCTET STRING,
        h3cIpxServiceType
            OCTET STRING,
        h3cIpxServiceNetId
            OCTET STRING,
        h3cIpxServiceNodeId
            OCTET STRING,
        h3cIpxServiceSocketNo
            OCTET STRING,
        h3cIpxServicePreference
            Integer32,
        h3cIpxServiceHops
            Integer32,
        h3cIpxServiceRecvIf
            OCTET STRING
}

--  node definition

h3cIpxServiceIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object uniquely identifies a service information."
    ::= { h3cIpxServiceEntry 1 }

h3cIpxServiceName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..47))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the service."
    ::= { h3cIpxServiceEntry 2 }

h3cIpxServiceType OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(2))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The service type."
    ::= { h3cIpxServiceEntry 3 }

h3cIpxServiceNetId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(4))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IPX network number portion of the IPX address of the service."
    ::= { h3cIpxServiceEntry 4 }

h3cIpxServiceNodeId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE(6))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The IPX node number portion of the IPX address of the service."
    ::= { h3cIpxServiceEntry 5 }

h3cIpxServiceSocketNo OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(2))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The socket portion of the IPX address of the service"
    ::= { h3cIpxServiceEntry 6 }

h3cIpxServicePreference OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The service preference of the service"
    ::= { h3cIpxServiceEntry 7 }

h3cIpxServiceHops OBJECT-TYPE
    SYNTAX      Integer32(0..15)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The hops from the device to the server."
    ::= { h3cIpxServiceEntry 8 }

h3cIpxServiceRecvIf OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..30))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Interface from which the service is receieved"
    ::= { h3cIpxServiceEntry 9 }

--  h3cIpxStaticServiceTable This table contains all static service information

h3cIpxStaticServiceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cIpxStaticServiceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table inlcudes all static service information.
        This table supports to creation and deletione of a static service,
        but not supports to modification"
    ::= { h3cIpxSap 6 }

h3cIpxStaticServiceEntry OBJECT-TYPE
    SYNTAX      H3cIpxStaticServiceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry records one service"
    INDEX      { h3cIpxStaticServiceType,
                 h3cIpxStaticServiceName,
                 h3cIpxStaticServiceNetId }
    ::= { h3cIpxStaticServiceTable 1 }

H3cIpxStaticServiceEntry ::=
    SEQUENCE{
        h3cIpxStaticServiceType
            OCTET STRING,
        h3cIpxStaticServiceName
            OCTET STRING,
        h3cIpxStaticServiceNetId
            OCTET STRING,
        h3cIpxStaticServiceNodeId
            OCTET STRING,
        h3cIpxStatciServiceSocketNo
            OCTET STRING,
        h3cIpxStaticServicePreference
            Integer32,
        h3cIpxStaticServiceHops
            Integer32,
        h3cIpxStaticServiceStatus
            INTEGER,
        h3cIpxStaticServiceRowStatus
            RowStatus
}

--  node definition

h3cIpxStaticServiceType OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE(2))
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The index of static service table."
    ::= { h3cIpxStaticServiceEntry 1 }

h3cIpxStaticServiceName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..47))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The sub-index of static service table. The name of
                the service."
    ::= { h3cIpxStaticServiceEntry 2 }

h3cIpxStaticServiceNetId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(4))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The sub-index of static service table. The IPX network
                number portion of the IPX address of the service."
    ::= { h3cIpxStaticServiceEntry 3 }

h3cIpxStaticServiceNodeId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(6))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The IPX node number portion of the IPX address of the
                service."
    ::= { h3cIpxStaticServiceEntry 4 }

h3cIpxStatciServiceSocketNo OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(2))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The socket portion of the IPX address of the service."
    ::= { h3cIpxStaticServiceEntry 5 }

h3cIpxStaticServicePreference OBJECT-TYPE
    SYNTAX      Integer32(1..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The service preference of the server."
    DEFVAL      { 60 }
    ::= { h3cIpxStaticServiceEntry 6 }

h3cIpxStaticServiceHops OBJECT-TYPE
    SYNTAX      Integer32(1..15)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The hops from the device to the server."
    ::= { h3cIpxStaticServiceEntry 7 }

h3cIpxStaticServiceStatus OBJECT-TYPE
    SYNTAX      INTEGER{
                    active(1),
                    inactive(2)
                    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of the service that you created. The value of
        this object is determined by system."
    ::= { h3cIpxStaticServiceEntry 8 }

h3cIpxStaticServiceRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this row. To create a row, user can 
        select 'createAndGo'. If the row is created successfully, 
        this object will became 'active'. To delete one row, 
        user can select 'destory' and the row will be deleted."
    ::= { h3cIpxStaticServiceEntry 9 }


--  ipx statistics group
--  statistic information about packets Input/Output

h3cIpxStatGlobal       OBJECT IDENTIFIER ::= { h3cIpxStat 1 }
h3cIpxStatInterface    OBJECT IDENTIFIER ::= { h3cIpxStat 2 }

--  received

h3cIpxStatTotalReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of packets received."
    ::= { h3cIpxStatGlobal 1 }

h3cIpxStatPitchs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of received packets filled by device when forwarding 
                or delivering up to upper protocol."
    ::= { h3cIpxStatGlobal 2 }

h3cIpxStatLenErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of received packets discarded due to length error."
    ::= { h3cIpxStatGlobal 3 }

h3cIpxStatFormatErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of received packets discarded due to format error."
    ::= { h3cIpxStatGlobal 4 }

h3cIpxStatBadHops OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of received packets which's value of field Hops
                is greater than 16."
    ::= { h3cIpxStatGlobal 5 }

h3cIpxStatHopsDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of received packets of which hops portion
                is equal to 16."
    ::= { h3cIpxStatGlobal 6 }

h3cIpxStatOtherErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of received packets discarded due to other error."
    ::= { h3cIpxStatGlobal 7 }

h3cIpxStatLocalDests OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of received packets which destination is the
                local device. Note that this would include the IPX NetBIOS
                propagation packets and those broadcast packets just to
                the network on which local device resides."
    ::= { h3cIpxStatGlobal 8 }

h3cIpxStatCantDeals OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of received packets with which can't be dealt.
                One possible reason for discarding such a packet would be
                receiving a packet of an unknown or unsupported protocol."
    ::= { h3cIpxStatGlobal 9 }

--  Sent

h3cIpxStatForwards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of received packets to be forwarded in the case that
                the entity was not their final destination."
    ::= { h3cIpxStatGlobal 10 }

h3cIpxStatGenerates OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of sent packets that the device generated itself."
    ::= { h3cIpxStatGlobal 11 }

h3cIpxStatNoRoutes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of packets discarded due to no route to the
                destination was found in routing table."
    ::= { h3cIpxStatGlobal 12 }

h3cIpxStatOutDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of packets to be discarded when sending out.
                Note that this counter would not include the packet(s)
                discarded due to no route."
    ::= { h3cIpxStatGlobal 13 }

--  Rip

h3cIpxStatRipSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP packets sent."
    ::= { h3cIpxStatGlobal 14 }

h3cIpxStatRipReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP packets received."
    ::= { h3cIpxStatGlobal 15 }

h3cIpxStaRipRspSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP response packets sent. "
    ::= { h3cIpxStatGlobal 16 }

h3cIpxStaRipRspReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP response packets received."
    ::= { h3cIpxStatGlobal 17 }

h3cIpxStatRipReqReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP request packets received."
    ::= { h3cIpxStatGlobal 18 }

h3cIpxStatRipReqDeals OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP request packets dealt with."
    ::= { h3cIpxStatGlobal 19 }

h3cIpxStatRipReqSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP request packets sent."
    ::= { h3cIpxStatGlobal 20 }

h3cIpxStatRipPeriUpdates OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of periodic update RIP packets sent."
    ::= { h3cIpxStatGlobal 21 }

--  Sap

h3cIpxStatSapGenReqReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP general request packets received."
    ::= { h3cIpxStatGlobal 22 }

h3cIpxStatSapSpecReqReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP specific request packets received."
    ::= { h3cIpxStatGlobal 23 }

h3cIpxStatSapGnsReqReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP GNS request packets received."
    ::= { h3cIpxStatGlobal 24 }

h3cIpxStatSapGenRspSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP general response packets sent."
    ::= { h3cIpxStatGlobal 25 }

h3cIpxStatSapSpecRspSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP specific response packets sent."
    ::= { h3cIpxStatGlobal 26 }

h3cIpxStatSapGnsRspSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP GNS response packets sent."
    ::= { h3cIpxStatGlobal 27 }

h3cIpxStatSapPeriUpdates OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP periodic update packets sent."
    ::= { h3cIpxStatGlobal 28 }

h3cIpxStatSapInPktErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP error packets received."
    ::= { h3cIpxStatGlobal 29 }

--  h3cIpxIfStatTable includes all statistic information
--  on each interface.

h3cIpxIfStatTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cIpxIfStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The table of the statistic information on each interface."
    ::= { h3cIpxStatInterface 1 }

h3cIpxIfStatEntry OBJECT-TYPE
    SYNTAX      H3cIpxIfStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The entry of the statistic table."
    INDEX       { h3cIpxIfStatIndex }
    ::= { h3cIpxIfStatTable 1 }

H3cIpxIfStatEntry ::=
    SEQUENCE{
        h3cIpxIfStatIndex
            Integer32,
        h3cIpxIfStatNetId
            OCTET STRING,
        h3cIpxIfStatNodeId
            OCTET STRING,
        --ipx
        h3cIpxIfStatIpxReceives
            Counter32,
        h3cIpxIfStatIpxSends
            Counter32,
        h3cIpxIfStatIpxRecvBytes
            Counter32,
        h3cIpxIfStatIpxSendBytes
            Counter32,
        -- Rip
        h3cIpxIfStatRipReceives
            Counter32,
        h3cIpxIfStatRipSends
            Counter32,
        h3cIpxIfStatRipDiscards
            Counter32,
        h3cIpxIfStatRipSpecReqReceives
            Counter32,
        h3cIpxIfStatRipSpecRspSends
            Counter32,
        h3cIpxIfStatRipGenReqReceives
            Counter32,
        h3cIpxIfStatRipGenRspSends
            Counter32,
        -- Sap
        h3cIpxIfStatSapReceives
            Counter32,
        h3cIpxIfStatSapSends
            Counter32,
        h3cIpxIfStatSapDiscards
            Counter32,
        h3cIpxIfStatSapGnsReqReceives
            Counter32,
        h3cIpxIfStatSapGnsRspSends
            Counter32
}

h3cIpxIfStatIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The index of the table's entry. According to the 
                interface's index."
    REFERENCE   "ifIndex"
    ::= { h3cIpxIfStatEntry 1 }

h3cIpxIfStatNetId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(4))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The network number of the IPX address of this interface."
    ::= { h3cIpxIfStatEntry 2 }

h3cIpxIfStatNodeId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(6))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The node number of the IPX address of this interface."
    ::= { h3cIpxIfStatEntry 3 }

--  IPX

h3cIpxIfStatIpxReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of packets received on the interface."
    ::= { h3cIpxIfStatEntry 4 }

h3cIpxIfStatIpxSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of packets sent on the interface."
    ::= { h3cIpxIfStatEntry 5 }

h3cIpxIfStatIpxRecvBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of bytes received on the interface."
    ::= { h3cIpxIfStatEntry 6 }

h3cIpxIfStatIpxSendBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of bytes sent on the interface."
    ::= { h3cIpxIfStatEntry 7 }

--  Rip

h3cIpxIfStatRipReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP packets received on the interface."
    ::= { h3cIpxIfStatEntry 8 }

h3cIpxIfStatRipSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP packets sent on the interface."
    ::= { h3cIpxIfStatEntry 9 }

h3cIpxIfStatRipDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP packets discarded on the interface."
    ::= { h3cIpxIfStatEntry 10 }

h3cIpxIfStatRipSpecReqReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP specific request packets received
                on the interface."
    ::= { h3cIpxIfStatEntry 11 }

h3cIpxIfStatRipSpecRspSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP specific response packets sent
                on the interface."
    ::= { h3cIpxIfStatEntry 12 }

h3cIpxIfStatRipGenReqReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP general request packets received
                 on the interface."
    ::= { h3cIpxIfStatEntry 13 }

h3cIpxIfStatRipGenRspSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of RIP general response packets sent
                on the interface."
    ::= { h3cIpxIfStatEntry 14 }

--  Sap

h3cIpxIfStatSapReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP packets received on the interface."
    ::= { h3cIpxIfStatEntry 15 }

h3cIpxIfStatSapSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP packets sent on the interface."
    ::= { h3cIpxIfStatEntry 16 }

h3cIpxIfStatSapDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP packets discarded on the interface."
    ::= { h3cIpxIfStatEntry 17 }

h3cIpxIfStatSapGnsReqReceives OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP GNS response packets received
                 on the interface."
    ::= { h3cIpxIfStatEntry 18 }

h3cIpxIfStatSapGnsRspSends OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of SAP GNS response packets sent on
                the interface."
    ::= { h3cIpxIfStatEntry 19 }


END
