ZTE-AN-INTERFACE-STATS-MIB DEFINITIONS ::= BEGIN

    IMPORTS 
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
        Integer32, Gauge32, Counter64                  FROM SNMPv2-SMI
        RowStatus, DisplayString, TruthValue,
        TEXTUAL-CONVENTION, DateAndTime                FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP                FROM SNMPv2-CONF
        ifIndex                                        FROM IF-MIB
        zxAnInterfaceMib                               FROM ZTE-AN-INTERFACE-MIB
        ZxAnIfindex                                    FROM ZTE-AN-TC-MIB
        HCPerfCurrentCount                             FROM HC-PerfHist-TC-MIB;
    
    zxAnInterfaceStatsMib MODULE-IDENTITY
        LAST-UPDATED    "201109132000Z"
        ORGANIZATION    "ZTE Corporation"
        CONTACT-INFO    "Zhang Weiping      ZTE Corporation
                         Mail: zhang.weiping@zte.com.cn
                         Tel : 021-68896470"
        DESCRIPTION     "The MIB module for the Performance Management of ZTE
                        Access Node interface."
     
        REVISION        "201109132000Z"
        DESCRIPTION
            "Modify this mib according to standar."
            
        REVISION        "201108101500Z"
        DESCRIPTION
            "Add the table zxAnBrgIfCurrStatsTable for vport port stats 
            function."  
                  
        REVISION        "201108051500Z"
        DESCRIPTION
            "Add the table zxAnEthIfCurrStatsTable for ether port stats 
            function."
                                         
        REVISION        "201107021400Z"
        DESCRIPTION
            "Initial version of this MIB module."
        ::= {zxAnInterfaceMib 11}

      

--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.Ethernet port performance 
-- 2.Bridge port performance
-- 3.Service port statistics
-- Following conformance information is defined.
-- 31.zxAnIfPerfConformance
--------------------------------------------------------------------------------

     zxAnIfPerfObjects         OBJECT IDENTIFIER ::= { zxAnInterfaceStatsMib 2 }      
     
--------------------------------------------------------------------------------
-- 1.Ethernet port performance 
--------------------------------------------------------------------------------
    zxAnEthIfCurrStatsTable    OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnEthIfCurrStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION         
            "Current performance data table of the ethernet interfaces."    
        ::= { zxAnIfPerfObjects 2 }


    zxAnEthIfCurrStatsEntry    OBJECT-TYPE
        SYNTAX      ZxAnEthIfCurrStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "Current performance data entry of the ethernet interfaces."
        INDEX   { ifIndex}
        ::= { zxAnEthIfCurrStatsTable 1 }

    ZxAnEthIfCurrStatsEntry ::= SEQUENCE {
        zxAnEthIfInOctets               Counter64,
        zxAnEthIfInPkts                 Counter64,
        zxAnEthIfInUcastPkts            Counter64,
        zxAnEthIfInMcastPkts            Counter64,
        zxAnEthIfInBcastPkts            Counter64,
        zxAnEthIfInOversizedPkts        Counter64,
        zxAnEthIfInUndersizedPkts       Counter64,
        zxAnEthIfOutOctets              Counter64,
        zxAnEthIfOutPkts                Counter64,
        zxAnEthIfOutUcastPkts           Counter64,
        zxAnEthIfOutMcastPkts           Counter64,
        zxAnEthIfOutBcastPkts           Counter64,
        zxAnEthIfOutPausePkts           Counter64,
        zxAnEthIfOutDiscardPkts         Counter64,
        zxAnEthIfOutCollisions          Counter64,
        zxAnEthIfSingleCollisions       Counter64,
        zxAnEthIfMultipleCollisions     Counter64,
        zxAnEthIfFcsErrors              Counter64,
        zxAnEthIfAlignmentErrors        Counter64,
        zxAnEthIfReset                  INTEGER
        }

    zxAnEthIfInOctets    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of octets received on the interface,
            including framing characters.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 1 }

    zxAnEthIfInPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of packets received on the interface,
            including framing characters.
            
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 2 }

    zxAnEthIfInUcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The number of packets, delivered by this sub-layer to a
            higher (sub-)layer, which were not addressed to a multicast
            or broadcast address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 3 }

    zxAnEthIfInMcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The number of packets, delivered by this sub-layer to a
            higher (sub-)layer, which were addressed to a multicast
            address at this sub-layer.  For a MAC layer protocol, this
            includes both Group and Functional addresses.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 4 }

    zxAnEthIfInBcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The number of packets, delivered by this sub-layer to a
            higher (sub-)layer, which were addressed to a broadcast
            address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 5 }

    zxAnEthIfInOversizedPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The number of packets,which above the configured MTU-size,
             e.g.mtu = 2000 (frames >2000 are discarded)."
        ::= { zxAnEthIfCurrStatsEntry 6 }

    zxAnEthIfInUndersizedPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The number of packets,which above the min port size,
             the value is 64."
        ::= { zxAnEthIfCurrStatsEntry 7 }

    zxAnEthIfOutOctets    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of octets transmitted out of the interface, 
            including framing characters."
        ::= { zxAnEthIfCurrStatsEntry 8 }

    zxAnEthIfOutPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of packets transmitted out of the interface, 
            including framing characters."
        ::= { zxAnEthIfCurrStatsEntry 9 }

    zxAnEthIfOutUcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of packets that higher-level protocols
            requested be transmitted, and which were not addressed to a
            multicast or broadcast address at this sub-layer, including
            those that were discarded or not sent.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 10 }
        
    zxAnEthIfOutMcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of packets that higher-level protocols
            requested be transmitted, and which were addressed to a
            multicast address at this sub-layer, including those that
            were discarded or not sent.  For a MAC layer protocol, this
            includes both Group and Functional addresses.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime"
        ::= { zxAnEthIfCurrStatsEntry 11 }

    zxAnEthIfOutBcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of packets that higher-level protocols
            requested be transmitted, and which were addressed to a
            broadcast address at this sub-layer, including those that
            were discarded or not sent.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 12 }

    zxAnEthIfOutPausePkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "A count of MAC Control frames transmitted on
             this interface with an opcode indicating the
             PAUSE operation.

             This counter does not increment when the
             interface is operating in half-duplex mode.

             For interfaces operating at 10 Gb/s, this
             counter can roll over in less than 5 minutes if
             it is incrementing at its maximum rate.  Since
             that amount of time could be less than a
             management station's poll cycle time, in order
             to avoid a loss of information, a management
             station is advised to poll the
             dot3HCOutPauseFrames object for 10 Gb/s or
             faster interfaces.

             Discontinuities in the value of this counter can
             occur at re-initialization of the management
             system, and at other times as indicated by the
             value of ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 13 }

    zxAnEthIfOutDiscardPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The number of outbound packets which were chosen to be
            discarded even though no errors had been detected to prevent
            their being transmitted.  One possible reason for discarding
            such a packet could be to free up buffer space.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 14 }

    zxAnEthIfOutCollisions    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "A count of frames that are involved in out collision and 
             are subsequently transmitted successfully.

             A frame that is counted by an instance of this
             object is also counted by the corresponding
             instance of either the ifOutUcastPkts,
             ifOutMulticastPkts, or ifOutBroadcastPkts,
             and is not counted by the corresponding
             instance of the dot3StatsSingleCollisionFrames
             object.

             This counter does not increment when the
             interface is operating in full-duplex mode.

             Discontinuities in the value of this counter can
             occur at re-initialization of the management
             system, and at other times as indicated by the
             value of ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 15 }

    zxAnEthIfSingleCollisions    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "A count of frames that are involved in a single
             collision, and are subsequently transmitted
             successfully.

             A frame that is counted by an instance of this
             object is also counted by the corresponding
             instance of either the ifOutUcastPkts,
             ifOutMulticastPkts, or ifOutBroadcastPkts,
             and is not counted by the corresponding
             instance of the dot3StatsMultipleCollisionFrames
             object.

             This counter does not increment when the
             interface is operating in full-duplex mode.

             Discontinuities in the value of this counter can
             occur at re-initialization of the management
             system, and at other times as indicated by the
             value of ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 16 }

    zxAnEthIfMultipleCollisions    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "A count of frames that are involved in more
             than one collision and are subsequently
             transmitted successfully.

             A frame that is counted by an instance of this
             object is also counted by the corresponding
             instance of either the ifOutUcastPkts,
             ifOutMulticastPkts, or ifOutBroadcastPkts,
             and is not counted by the corresponding
             instance of the dot3StatsSingleCollisionFrames
             object.

             This counter does not increment when the
             interface is operating in full-duplex mode.

             Discontinuities in the value of this counter can
             occur at re-initialization of the management
             system, and at other times as indicated by the
             value of ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 17 }

    zxAnEthIfFcsErrors    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "A count of frames received on a particular
             interface that are an integral number of octets
             in length but do not pass the FCS check.  This
             count does not include frames received with
             frame-too-long or frame-too-short error.

             The count represented by an instance of this
             object is incremented when the frameCheckError
             status is returned by the MAC service to the
             LLC (or other MAC user). Received frames for
             which multiple error conditions pertain are,
             according to the conventions of IEEE 802.3
             Layer Management, counted exclusively according
             to the error status presented to the LLC.

             Note:  Coding errors detected by the physical
             layer for speeds above 10 Mb/s will cause the
             frame to fail the FCS check.

             For interfaces operating at 10 Gb/s, this
             counter can roll over in less than 5 minutes if
             it is incrementing at its maximum rate.  Since
             that amount of time could be less than a
             management station's poll cycle time, in order
             to avoid a loss of information, a management
             station is advised to poll the
             dot3HCStatsFCSErrors object for 10 Gb/s or
             faster interfaces.

             Discontinuities in the value of this counter can
             occur at re-initialization of the management
             system, and at other times as indicated by the
             value of ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 18 }
        
    zxAnEthIfAlignmentErrors    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "A count of frames received on a particular
             interface that are not an integral number of
             octets in length and do not pass the FCS check.

             The count represented by an instance of this
             object is incremented when the alignmentError
             status is returned by the MAC service to the
             LLC (or other MAC user). Received frames for
             which multiple error conditions pertain are,
             according to the conventions of IEEE 802.3
             Layer Management, counted exclusively according
             to the error status presented to the LLC.

             This counter does not increment for group
             encoding schemes greater than 4 bits per group.

             For interfaces operating at 10 Gb/s, this
             counter can roll over in less than 5 minutes if
             it is incrementing at its maximum rate.  Since
             that amount of time could be less than a
             management station's poll cycle time, in order
             to avoid a loss of information, a management
             station is advised to poll the
             dot3HCStatsAlignmentErrors object for 10 Gb/s
             or faster interfaces.

             Discontinuities in the value of this counter can
             occur at re-initialization of the management
             system, and at other times as indicated by the
             value of ifCounterDiscontinuityTime."
        ::= { zxAnEthIfCurrStatsEntry 19 }
        
    zxAnEthIfReset OBJECT-TYPE 
        SYNTAX      INTEGER
            {
                perfReset(1)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION     
            "Clear all the current performance variables.
             When get this variable, always return 1."
        ::= { zxAnEthIfCurrStatsEntry 100 }   
 
--------------------------------------------------------------------------------
-- 2.Bridge port performance 
--------------------------------------------------------------------------------

    zxAnBrgIfCurrStatsTable    OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnBrgIfCurrStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION         
            "Current performance data table of bridge interfaces."    
        ::= { zxAnIfPerfObjects 3 }

    zxAnBrgIfCurrStatsEntry    OBJECT-TYPE
        SYNTAX      ZxAnBrgIfCurrStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Current performance data entry of bridge interfaces."
        INDEX   { ifIndex}
        ::= { zxAnBrgIfCurrStatsTable 1 }

    ZxAnBrgIfCurrStatsEntry ::= SEQUENCE {
        zxAnBrgIfInOctets               Counter64, 
        zxAnBrgIfInUcastPkts            Counter64,
        zxAnBrgIfInMcastPkts            Counter64,
        zxAnBrgIfInBcastPkts            Counter64,
        zxAnBrgIfOutOctets              Counter64,     
        zxAnBrgIfOutUcastPkts           Counter64,
        zxAnBrgIfOutMcastPkts           Counter64,
        zxAnBrgIfOutBcastPkts           Counter64,
        zxAnBrgIfReset                  INTEGER,
        zxAnBrgIfStatsRowStatus         RowStatus
        }

    zxAnBrgIfInOctets    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of octets received on the interface,
            including framing characters.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnBrgIfCurrStatsEntry 1 }

    zxAnBrgIfInUcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The number of packets, delivered by this sub-layer to a
            higher (sub-)layer, which were not addressed to a multicast
            or broadcast address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnBrgIfCurrStatsEntry 2 }

    zxAnBrgIfInMcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The number of packets, delivered by this sub-layer to a
            higher (sub-)layer, which were addressed to a multicast
            address at this sub-layer.  For a MAC layer protocol, this
            includes both Group and Functional addresses.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnBrgIfCurrStatsEntry 3 }

    zxAnBrgIfInBcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The number of packets, delivered by this sub-layer to a
            higher (sub-)layer, which were addressed to a broadcast
            address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnBrgIfCurrStatsEntry 4 }

    zxAnBrgIfOutOctets    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of octets transmitted out of the interface, 
            including framing characters."
        ::= { zxAnBrgIfCurrStatsEntry 5 }

    zxAnBrgIfOutUcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of packets that higher-level protocols
            requested be transmitted, and which were not addressed to a
            multicast or broadcast address at this sub-layer, including
            those that were discarded or not sent.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnBrgIfCurrStatsEntry 6 }
        
    zxAnBrgIfOutMcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of packets that higher-level protocols
            requested be transmitted, and which were addressed to a
            multicast address at this sub-layer, including those that
            were discarded or not sent.  For a MAC layer protocol, this
            includes both Group and Functional addresses.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime"
        ::= { zxAnBrgIfCurrStatsEntry 7 }

    zxAnBrgIfOutBcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of packets that higher-level protocols
            requested be transmitted, and which were addressed to a
            broadcast address at this sub-layer, including those that
            were discarded or not sent.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
        ::= { zxAnBrgIfCurrStatsEntry 8 }
        
    zxAnBrgIfReset  OBJECT-TYPE 
        SYNTAX      INTEGER {
            perfReset(1)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "Clear all the current performance variables.
             When get this variable, always return 1."
        ::= { zxAnBrgIfCurrStatsEntry 100 }
    
    zxAnBrgIfStatsRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The status of this conceptual row.
            
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.

            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnBrgIfCurrStatsEntry.
    
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
             
            To get this object, the agent always returns active(1)."
        ::= { zxAnBrgIfCurrStatsEntry 101 }
 
--------------------------------------------------------------------------------
-- 3.Service port statistics 
--------------------------------------------------------------------------------
    zxAnSrvPortCurrStatsTable    OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnSrvPortCurrStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION         
            "Current statistics data table of service port."    
        ::= { zxAnIfPerfObjects 4 }

    zxAnSrvPortCurrStatsEntry    OBJECT-TYPE
        SYNTAX      ZxAnSrvPortCurrStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "A zxAnSrvPortCurrStatsTable entry."
        INDEX   { zxAnBrgPortIndex, zxAnSrvPortId }
        ::= { zxAnSrvPortCurrStatsTable 1 }

    ZxAnSrvPortCurrStatsEntry ::= SEQUENCE {
        zxAnBrgPortIndex                  ZxAnIfindex,
        zxAnSrvPortId                     Integer32,    
        zxAnSrvPortInOctets               Counter64,
        zxAnSrvPortOutOctets              Counter64,
        zxAnSrvPortInUcastPkts            Counter64,
        zxAnSrvPortOutUcastPkts           Counter64,
        zxAnSrvPortInMcastPkts            Counter64,
        zxAnSrvPortOutMcastPkts           Counter64,
        zxAnSrvPortInBcastPkts            Counter64,
        zxAnSrvPortOutBcastPkts           Counter64,
        zxAnSrvPortInOctetRate            Gauge32,
        zxAnSrvPortOutOctetRate           Gauge32,
        zxAnSrvPortInOctetPeakRate        Gauge32,
        zxAnSrvPortOutOctetPeakRate       Gauge32,
        zxAnSrvPortCurrStatsReset         INTEGER,
        zxAnSrvPortCurrStatsRowStatus     RowStatus
        }

    zxAnBrgPortIndex OBJECT-TYPE
        SYNTAX      ZxAnIfindex 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An index for a bridge port."
        ::= { zxAnSrvPortCurrStatsEntry 1 }
        
    zxAnSrvPortId OBJECT-TYPE
        SYNTAX      Integer32(1..128)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Service port ID."
        ::= { zxAnSrvPortCurrStatsEntry 2 }
        
    zxAnSrvPortInOctets    OBJECT-TYPE 
        SYNTAX      Counter64    
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of octets received on the interface, including 
             framing characters."
        ::= { zxAnSrvPortCurrStatsEntry 3 }
        
    zxAnSrvPortOutOctets    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The total number of octets transmitted out of the interface, 
             including framing characters."
        ::= { zxAnSrvPortCurrStatsEntry 4 }

    zxAnSrvPortInUcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "Received unicast packets."
        ::= { zxAnSrvPortCurrStatsEntry 5 }
        
    zxAnSrvPortOutUcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "Transmitted unicast packets."
        ::= { zxAnSrvPortCurrStatsEntry 6 }

    zxAnSrvPortInMcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "Received multicast packets."
        ::= { zxAnSrvPortCurrStatsEntry 7 }
        
    zxAnSrvPortOutMcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "Transmitted multicast packets."
        ::= { zxAnSrvPortCurrStatsEntry 8 }
        
    zxAnSrvPortInBcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "Received broadcast packets."
        ::= { zxAnSrvPortCurrStatsEntry 9 }

    zxAnSrvPortOutBcastPkts    OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "Transmitted broadcast packets."
        ::= { zxAnSrvPortCurrStatsEntry 10 }
 
    zxAnSrvPortInOctetRate    OBJECT-TYPE 
        SYNTAX      Gauge32
        UNITS       "kbps"        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "Received octet rate."
        ::= { zxAnSrvPortCurrStatsEntry 11 }

    zxAnSrvPortOutOctetRate    OBJECT-TYPE 
        SYNTAX      Gauge32
        UNITS       "kbps"        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "Transmitted octet rate."
        ::= { zxAnSrvPortCurrStatsEntry 12 }   

    zxAnSrvPortInOctetPeakRate    OBJECT-TYPE 
        SYNTAX      Gauge32
        UNITS       "kbps"        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "Received octet peak rate."
        ::= { zxAnSrvPortCurrStatsEntry 13 }   

    zxAnSrvPortOutOctetPeakRate    OBJECT-TYPE 
        SYNTAX      Gauge32
        UNITS       "kbps"        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "Transmitted octet peak rate."
        ::= { zxAnSrvPortCurrStatsEntry 14 }  
               
    zxAnSrvPortCurrStatsReset OBJECT-TYPE 
        SYNTAX      INTEGER
            {
                perfReset(1)
            }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "Value 1 means to clear all the current performance value."
        ::= { zxAnSrvPortCurrStatsEntry 100 }     

    zxAnSrvPortCurrStatsRowStatus   OBJECT-TYPE
        SYNTAX         RowStatus
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
            "The status of this conceptual row.
            
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.

            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnSrvPortCurrStatsEntry.
    
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
             
            To get this object, the agent always returns active(1)."
        ::= { zxAnSrvPortCurrStatsEntry 101 }
                                      
--------------------------------------------------------------------------------
-- 31.zxAnIfPerfConformance
--------------------------------------------------------------------------------

    zxAnIfPerfConformance      OBJECT IDENTIFIER ::= { zxAnInterfaceStatsMib 4 }     

    zxAnIfPerfCompliances      OBJECT IDENTIFIER ::= { zxAnIfPerfConformance 1 }
    zxAnIfPerfGroups           OBJECT IDENTIFIER ::= { zxAnIfPerfConformance 2 }

    zxAnIfPerfCompliance MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION 
            "The compliance statement for entities which implement the
             ZTE-AN-INTERFACE-STATS-MIB."
    
        MODULE       -- this module
            MANDATORY-GROUPS { 
                   zxAnEthIfPerfCurrGroup,
                   zxAnIfPerfGroups
                   }
        ::= { zxAnIfPerfCompliances 1 }
    

    zxAnEthIfPerfCurrGroup OBJECT-GROUP
        OBJECTS {
            zxAnEthIfInOctets,
            zxAnEthIfInPkts,
            zxAnEthIfInUcastPkts,
            zxAnEthIfInMcastPkts,
            zxAnEthIfInBcastPkts,
            zxAnEthIfInOversizedPkts,
            zxAnEthIfInUndersizedPkts,
            zxAnEthIfOutOctets,
            zxAnEthIfOutPkts,
            zxAnEthIfOutUcastPkts,
            zxAnEthIfOutMcastPkts,
            zxAnEthIfOutBcastPkts,
            zxAnEthIfOutPausePkts,            
            zxAnEthIfOutDiscardPkts,
            zxAnEthIfOutCollisions,
            zxAnEthIfSingleCollisions,
            zxAnEthIfMultipleCollisions,
            zxAnEthIfFcsErrors,
            zxAnEthIfAlignmentErrors,
            zxAnEthIfReset
        }
        STATUS  current
        DESCRIPTION 
            "A collection of objects providing current performance data of 
            the ethernet interfaces."
        ::= { zxAnIfPerfGroups 1 }       
    
    zxAnBrgIfPerfCurrGroup OBJECT-GROUP
        OBJECTS {
            zxAnBrgIfInOctets,
            zxAnBrgIfInUcastPkts,
            zxAnBrgIfInMcastPkts,
            zxAnBrgIfInBcastPkts,        
            zxAnBrgIfOutOctets,
            zxAnBrgIfOutUcastPkts,
            zxAnBrgIfOutMcastPkts,
            zxAnBrgIfOutBcastPkts,
            zxAnBrgIfReset
        }
        STATUS  current
        DESCRIPTION 
            "A collection of objects providing current performance data of 
            the bridge interfaces."
        ::= { zxAnIfPerfGroups 2 }                 

    zxAnSrvPortPerfCurrGroup  OBJECT-GROUP
        OBJECTS {
            zxAnSrvPortInOctets,
            zxAnSrvPortOutOctets,
            zxAnSrvPortInUcastPkts,
            zxAnSrvPortOutUcastPkts,
            zxAnSrvPortInMcastPkts,
            zxAnSrvPortOutMcastPkts,
            zxAnSrvPortInBcastPkts,
            zxAnSrvPortOutBcastPkts,
            zxAnSrvPortInOctetRate,
            zxAnSrvPortOutOctetRate,
            zxAnSrvPortInOctetPeakRate,
            zxAnSrvPortOutOctetPeakRate,
            zxAnSrvPortCurrStatsReset
        }
        STATUS  current
        DESCRIPTION 
            "A collection of objects providing current performance data of 
            the service port."
        ::= { zxAnIfPerfGroups 3 }
    
END