
--------------------------------------------------------------------------------
-- File Name : ZTE-AN-INTERFACE-MIB.mib
-- Date      : 2006-09-05
-- Author    : ZTE Nms dept.

--
-- Zte Interface Mib for Access Node
-- 
-- 
--------------------------------------------------------------------------------


ZTE-AN-INTERFACE-MIB    DEFINITIONS ::= BEGIN
    IMPORTS     
        TEXTUAL-CONVENTION, MacAddress, TruthValue, RowStatus,
        DisplayString, TimeStamp                        FROM SNMPv2-TC
        MODULE-IDENTITY, enterprises, OBJECT-TYPE, 
        Integer32, TimeTicks,Counter32,Gauge32,
        NOTIFICATION-TYPE ,Counter64                    FROM SNMPv2-SMI
        ifIndex, ifAdminStatus,ifOperStatus,ifType      FROM IF-MIB
        ZxAnIfindex,ZxAnPortList,ZxAnIdList,VlanId,
        zxAn                                            FROM ZTE-AN-TC-MIB
        InetAddress,InetAddressType                     FROM INET-ADDRESS-MIB;

    zxAnInterfaceMib    MODULE-IDENTITY
        LAST-UPDATED    "200609051500Z"
        ORGANIZATION    "ZTE Corporation"
        CONTACT-INFO    "Su Chunshan
                        Mail: suchunshan@zte.com.cn
                        Tel : 021-68896292"
        DESCRIPTION     "This MIB defines zte Access Node managed objects."
        ::=  {  zxAn  3  }  

    zxAnInterfaceObjects     OBJECT IDENTIFIER  ::=  { zxAnInterfaceMib 1 }
    zxAnInterfaceTrapObjects OBJECT IDENTIFIER  ::=  { zxAnInterfaceMib 2 }

--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.Interface table
-- 2.Ethernet-like Interface Config table
-- 3.Ethernet-like Interface statistics table
-- 4.Ethernet-like Interface Mirroring Table
-- 5.SelfLoopback Definations
-- 6.Ethernet Global Mgmt
-- 7.MAC Drift Mgmt
-- 8.Loopback Definations
-- 9.Ethernet-like Interface Queue statistics table
-- 10.Optical Module Monitored Table
-- 11.COM management
-- 12.Ethernet History Statistics Table
-- 13.ifXTable History Statistics Table
-- 14.ifTable History Statistics Table
-- 15.Ethernet Interface Statistics Table
-- 16.Interface Test
--   16.1 Interface PPPoE Test
--   16.2 Interface DHCP Test
-- 17.Interface Packet Rate Limit Table
-- 18.Interface VLAN Rate Limit Table
-- 19.Protocol Rate Limit Table
-- 20.Interface Protocol Transparent Table
-- 21.Port Number Stats Objects
-- 22.Optical Module Group
-- 23.Interface Statistics Group
-- 24.Storm Control Objects
-- 25.Protocol Rate Limit Objects
-- 27.MAX-MAC-LEARN Objects
-- 30.Trap Definations
--------------------------------------------------------------------------------

    zxAnInterfaceMgmtCapabilities OBJECT-TYPE
        SYNTAX     BITS
        {
            opticalParams(0),
            dhcpTest4Ct(1),
            pppoeTest4Ct(2),
            discardPktRatioAccuracy(3),
            supportIfXTableForDslPort(4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The management capabilities of this interface.
            The bit value 1 means the function represented by this bit is supported
            by this interface.
            
            bit 0: value 1 means support optical parameters.
            bit 1: value 1 means support zxAnIfDhcpTestTimeout,
                   zxAnIfDhcpTestClientMac, zxAnIfDhcpTestAuthMode, 
                   zxAnIfDhcpTestUserName, zxAnIfDhcpTestPassword and 
                   zxAnIfDhcpTestOption60String in zxAnIfDhcpTestTable.
            bit 2: value 1 means support zxAnIfPppoeTestTimeout in 
                   zxAnIfPppoeTestTable.
            bit 3: value 1 means support the unit of
                   zxAnEtherIfOutDiscardPktRatio and 
                   zxAnEtherIfInDiscardPktRatio is 0.01%.
            bit 4: value 1 means support ifXTable For DSL port.
            
            NOTE:
               No recomanded to display it in NMS.
            "
        ::= { zxAnInterfaceObjects 200 }  

--------------------------------------------------------------------------------
-- 1.Interface table
--------------------------------------------------------------------------------
    zxAnIfTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the general interface infomation."
        ::=  { zxAnInterfaceObjects  1 }

    zxAnIfEntry   OBJECT-TYPE
        SYNTAX      ZxAnIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnIfTable."
        INDEX       { ifIndex  }
        ::=  { zxAnIfTable 1 }

    ZxAnIfEntry  ::=  SEQUENCE {
        zxAnIfTxNetDataRate             Integer32,
        zxAnIfRxNetDataRate             Integer32,
        zxAnIfStatCounterAdminStatus    INTEGER, 
        zxAnIfAdminStatus               INTEGER,
        zxAnIfLastLinkDownTime          DisplayString,
        zxAnIfLastLinkUpTime            DisplayString,
        zxAnIfFwdFloodBpduPacketEnable  INTEGER,
        zxAnIfFwdFloodGarpPacketEnable  INTEGER,        
        zxAnIfLoadDefaultConfiguration  INTEGER,
        zxAnIfLinkUpDownSeverity        INTEGER
        }


    zxAnIfTxNetDataRate OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Current actual data transmition speed at this interface."
        ::=  {  zxAnIfEntry  2  }


    zxAnIfRxNetDataRate OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Current actual data recieving speed at this interface."
        ::=  {  zxAnIfEntry  3  }

    zxAnIfStatCounterAdminStatus OBJECT-TYPE 
        SYNTAX          INTEGER 
        {
            resetCounter(3)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Reset the statistics counter at this interface."
        ::=  {  zxAnIfEntry  4  }

    zxAnIfAdminStatus OBJECT-TYPE 
        SYNTAX          INTEGER 
        {
            unlock(1),
            lock(2),
            reset(3)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "
            Operate the interface.
            lock   -- disable the service and alarm of this interface
            unlock -- release the lock status 
            reset  -- reset interface and then return the before adminStatus.
            
            "
        ::=  {  zxAnIfEntry  5  }
        
    zxAnIfLastLinkDownTime OBJECT-TYPE 
        SYNTAX          DisplayString(SIZE(0..19))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The time that the link of interface is down.
                         The format is YYYY-MM-DD HH:MM:SS.
                         eg 2010-07-07 13:15:27"
        ::=  {  zxAnIfEntry  6  }
        
    zxAnIfLastLinkUpTime OBJECT-TYPE 
        SYNTAX          DisplayString(SIZE(0..19))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The time that the link of interface is up.
                         The format is YYYY-MM-DD HH:MM:SS.
                         eg 2010-07-07 13:15:27"
        ::=  {  zxAnIfEntry  7  }
        
    zxAnIfFwdFloodBpduPacketEnable  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Enable or disable the ethernet switch forward flood BPDU packet at
              this interface."
        DEFVAL { disabled }
        REFERENCE   "Used by MAP"
        ::=  {  zxAnIfEntry  8  }
        
    zxAnIfFwdFloodGarpPacketEnable  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable or disable the ethernet switch forward flood GARP packet at
             this interface."
        DEFVAL { disabled }
        REFERENCE   "Used by MAP"
        ::=  {  zxAnIfEntry  9  }
        
    zxAnIfLoadDefaultConfiguration  OBJECT-TYPE
       SYNTAX      INTEGER 
       {
           loadFactoryDefaults(1)
       }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
           "Use this parameter to load interface factory default settings."
       ::=  {  zxAnIfEntry  10 }
       
    zxAnIfLinkUpDownSeverity  OBJECT-TYPE
        SYNTAX     INTEGER
        {
            notification(1),
            alarm(2)
        }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION     
            "Linkdown and linkup trap severity.
             notification -- zxAnIfAccesslinkDown and zxAnIfAccesslinkUp should
                             be generated when the interface linkup or linkdown
                             occurs.
             alarm       -- zxAnIfAccessLinkDownAlm and zxAnIfAccessLinkDownClr
                            should be generated when the interface linkdown 
                            occurs."
        ::=  {  zxAnIfEntry  11  }
    
--------------------------------------------------------------------------------
-- 2.Ethernet-like Interface Config table
--------------------------------------------------------------------------------
    zxAnEtherIfConfTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnEtherIfConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the ethernet-like interface configuration."
        ::=  { zxAnInterfaceObjects  2 }

    zxAnEtherIfConfEntry   OBJECT-TYPE
        SYNTAX      ZxAnEtherIfConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnEtherIfConfTable."
        INDEX       { ifIndex  }
        ::=  { zxAnEtherIfConfTable 1 }

    ZxAnEtherIfConfEntry  ::=  SEQUENCE {
        zxAnEtherIfConfDuplexSpeed      INTEGER,
        zxAnEtherIfActualDuplex         INTEGER,
        zxAnEtherIfActualSpeed          INTEGER,
        zxAnEtherIfConf10GEPhyType      INTEGER,
        zxAnEtherIfConfConnectorType    INTEGER,
        zxAnEtherIfConf10GERefClk       INTEGER,
        zxAnEtherIfConfFlowCtrlEnable   INTEGER,
        zxAnEtherIfPortProtect          INTEGER,        
        zxAnSecIfMacLearnedLimitEnable  INTEGER,
        zxAnSecIfMaxLearnedMacs         Integer32,
        zxAnEtherIfMtu                  INTEGER,
        zxAnEtherIfMcastFloodingCtrl    INTEGER,
        zxAnEtherIfPortIsolateEnable    INTEGER
        }


    zxAnEtherIfConfDuplexSpeed OBJECT-TYPE
        SYNTAX          INTEGER 
        {
             autoNegotiate(1),
             half10(2), -- 10M-half
             full10(3), -- 10M-full
             half100(4),-- 100M-half
             full100(5),-- 100M-full
             full1000(6),-- 1000M-full             
             full10000(7),-- 10000M-full
             illegal(99) 
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "DURABLE: { auto_negotiate:all }
            The desired speed and duplex for this interface. If the selected
            control is not possible on the interface, a value of illegal(99)
            is returned.  If the port type does NOT support the default
            of auto_negotiate(1), then the application initializes the
            port to a valid value (e.g., 1000full(6)).  Note that not all
            controls are possible for all interfaces.  For example, only
            full-1000(6) is available for Gigabit Ethernet interfaces."
        ::= { zxAnEtherIfConfEntry 1 }


    zxAnEtherIfActualDuplex OBJECT-TYPE
        SYNTAX          INTEGER 
        {
             autoNegotiate(1),
             half(2),
             full(3)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The actual duplex for this interface. "
        ::= { zxAnEtherIfConfEntry 2 }


    zxAnEtherIfActualSpeed OBJECT-TYPE
        SYNTAX          INTEGER 
        {
             speed10(1),
             speed100(2),
             speed1000(3),
             speed10000(4),             
             autoSpeed(5)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The actual speed for this interface. "
        ::= { zxAnEtherIfConfEntry 3 }
        

    zxAnEtherIfConf10GEPhyType OBJECT-TYPE
        SYNTAX          INTEGER 
        {
             noUse(1),  
             lan10GE(2),   -- 10GE_LAN
             wan10GE(3)  -- 10GE_WAN
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The physical tpye of this interface,it is used by 10GE interface 
         only now. "
        ::= { zxAnEtherIfConfEntry 4 }
                


    zxAnEtherIfConfConnectorType OBJECT-TYPE
        SYNTAX          INTEGER 
        {
             noUse(1),  
             auto(2),
             fibre(3),
             copper(4)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The connector tpye of this interface,such as fibre or copper or auto. 
            if no connector should be regard,it is noUse."
        ::= { zxAnEtherIfConfEntry 5 }
                

    zxAnEtherIfConf10GERefClk OBJECT-TYPE
        SYNTAX          INTEGER 
        {
             noUse(1),  
             independense(2),
             line(3)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The reference clock used by this interface.It is used by 10GE port."
        ::= { zxAnEtherIfConfEntry 6 }
                

    zxAnEtherIfConfFlowCtrlEnable OBJECT-TYPE
        SYNTAX          INTEGER 
        {
             enable(1),  
             disable(2)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Enable/disable the ehternet flow control."
        ::= { zxAnEtherIfConfEntry 7 }
                
    zxAnEtherIfPortProtect OBJECT-TYPE
        SYNTAX          INTEGER 
        {
             enable(1),  
             disable(2)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Enable/disable the ehternet Port Protect."
        ::= { zxAnEtherIfConfEntry 8 }
                
    zxAnSecIfMacLearnedLimitEnable OBJECT-TYPE 
        SYNTAX          INTEGER 
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Enable/disable MAC learning limit."
        ::=  {  zxAnEtherIfConfEntry  9  }
                
        
    zxAnSecIfMaxLearnedMacs OBJECT-TYPE 
        SYNTAX          Integer32 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Max MAC limit learnt.range is [0,32768]"
        ::=  {  zxAnEtherIfConfEntry  10  }
                
    zxAnEtherIfMtu OBJECT-TYPE 
        SYNTAX          INTEGER(1518..9000) 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Max Transmission Unit."
        DEFVAL { 1600 }
        ::=  {  zxAnEtherIfConfEntry  11  }

    zxAnEtherIfMcastFloodingCtrl OBJECT-TYPE 
        SYNTAX          INTEGER
        {
            floodingAll(1),
            floodingOnlyUnknown(2),
            dropUnknown(3),
            unsupported(4)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     
            "Multicast flooding Control of this port."                            
        ::=  {  zxAnEtherIfConfEntry  12  }

    zxAnEtherIfPortIsolateEnable OBJECT-TYPE
        SYNTAX             INTEGER  
        { 
            enable( 1 ), 
            disable( 2 ) 
        } 
        MAX-ACCESS       read-write
        STATUS           current
        DESCRIPTION      "Enables and disables the port isolation function.
            enable(1): The port is added to the isolation group. All 
                the ports in the isolation group are isolated from each other 
                in layer 2,but they are not isolated from the ports not in 
                the isolation group.
            disable(2): The port is removed from the isolation group."

        DEFVAL { disable }
        ::=  {  zxAnEtherIfConfEntry  13  }
--------------------------------------------------------------------------------
-- 3.Ethernet-like Interface statistics table
--------------------------------------------------------------------------------

    zxAnEtherIfStatTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnEtherIfStatEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table includes the ethernet-like port performance statistics."
        ::= { zxAnInterfaceObjects 3 }

    zxAnEtherIfStatEntry  OBJECT-TYPE
        SYNTAX      ZxAnEtherIfStatEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnEtherIfStatTable."
        INDEX  { ifIndex  }
        ::= { zxAnEtherIfStatTable 1 }

    ZxAnEtherIfStatEntry  ::= SEQUENCE {
        zxAnEtherIfStatFCSErrors                Counter32,
        zxAnEtherIfStat15minFCSErrors           Counter32,
        zxAnEtherIf15minFcsErrsThresh           Integer32,
        zxAnEtherIfStat1dayFCSErrors            Counter32,
        zxAnEtherIf1dayFcsErrsThresh            Integer32,
        zxAnEtherIfOutOctetRate                 Gauge32,
        zxAnEtherIfOutPktRate                   Gauge32,
        zxAnEtherIfOutBandwidthUtil             Integer32,        
        zxAnEtherIfOutDiscardPktRatio           Integer32,            
        zxAnEtherIfOutOctetPeakRate             Gauge32,
        zxAnEtherIfInOctetRate                  Gauge32,
        zxAnEtherIfInPktRate                    Gauge32,
        zxAnEtherIfInBandwidthUtil              Integer32,            
        zxAnEtherIfInDiscardPktRatio            Integer32,            
        zxAnEtherIfInOctetPeakRate              Gauge32,
        zxAnEtherIfInErrPktRatio                Integer32,
        zxAnEtherIfOutBwUtilThresh              Integer32,    
        zxAnEtherIfInBandwidthUtilThresh        Integer32,
        zxAnEtherIfOutPkts                      Counter64,
        zxAnEtherIfInOctetsCorrect              Counter64,  
        zxAnEtherIfOutOctetsCorrect             Counter64,
        zxAnEtherIfInOctetsError                Counter64,
        zxAnEtherIfOutOctetsError               Counter64,
        zxAnEthIfStat1SecFcsErrs                Counter64,
        zxAnEthIfStat1SecFcsErrsThresh          Integer32,
        zxAnEtherIfStatOutDiscardPkt            Counter64,
        zxAnEtherIfStatInDiscardPkt             Counter64,
        zxAnEtherIfInPkts                       Counter64,
        zxAnEtherIfStatEs                       Counter64,
        zxAnEtherIfStatSes                      Counter64,
        zxAnEtherIfStatUas                      Counter64,
        zxAnEtherIfStatLoss                     Counter64,
        zxAnEtherIfStatReset                    INTEGER
        }

    zxAnEtherIfStatFCSErrors  OBJECT-TYPE 
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The FCSErrors counter of ethernet-like interface."
        ::= { zxAnEtherIfStatEntry 1 }

    zxAnEtherIfStat15minFCSErrors  OBJECT-TYPE 
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current 15 mininutes FCSErrors counter of ethernet-like 
             interface."
        ::= { zxAnEtherIfStatEntry 2 }

    zxAnEtherIf15minFcsErrsThresh  OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "The threshold of zxAnEtherIfStat15minFCSErrors. When it exceeds 
             this threshold, the zxAnEtherIf15minFcsErrsThreshAlm trap should be
             generated.
             If zxAnEtherIfStat15minFCSErrors always exceeds the threshold, only
             one zxAnEtherIf15minFcsErrsThreshAlm trap should be sent."
        ::= { zxAnEtherIfStatEntry 3 }

    zxAnEtherIfStat1dayFCSErrors  OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The 1 day FCSErrors counter of ethernet-like interface."
        ::= { zxAnEtherIfStatEntry 4 }

    zxAnEtherIf1dayFcsErrsThresh  OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The threshold of zxAnEtherIfStat1dayFCSErrors. When it exceeds this
             threshold,the zxAnEtherIf1dayFcsErrsThreshAlm trap should be 
             generated.
             If zxAnEtherIfStat1dayFCSErrors always exceeds the threshold,only 
             one zxAnEtherIf1dayFcsErrsThreshAlm trap should be sent."
        ::= { zxAnEtherIfStatEntry 5 }

    zxAnEtherIfOutOctetRate  OBJECT-TYPE 
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "An estimate of the interface's current transmitted bandwidth in 
             bytes per second. 
             For interfaces which do not vary in bandwidth or for those where no
             accurate estimation can be made, this object should contain the 
             nominal bandwidth. 
             If the bandwidth of the interface is greater than the maximum value
             reportable by this object then this object should report its 
             maximum value (4,294,967,295)."
        ::= { zxAnEtherIfStatEntry 6 }

    zxAnEtherIfOutPktRate  OBJECT-TYPE 
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "An estimate of the interface's current transmitted bandwidth in 
             packets per second.
             For interfaces which do not vary in bandwidth or for those where no
             accurate estimation can be made, this object should contain the 
             nominal bandwidth.  
             If the bandwidth of the interface is greater than the maximum value
             reportable by this object then this object should report its 
             maximum value (4,294,967,295)."
        ::= { zxAnEtherIfStatEntry 7 }

    zxAnEtherIfOutBandwidthUtil  OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "An estimate of the interface's current transmitted bandwidth 
             utilization. The value is between 0 to 100."
        ::= { zxAnEtherIfStatEntry 8 }

    zxAnEtherIfOutDiscardPktRatio  OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "An estimate of the interface's discarded packets ratio being 
             transmitted.
             
             When bit 3 of zxAnInterfaceMgmtCapabilities is 0, the unit is 1%.
             When bit 3 of zxAnInterfaceMgmtCapabilities is 1, the unit is 
             0.01%."
        ::= { zxAnEtherIfStatEntry 9 }

    zxAnEtherIfOutOctetPeakRate  OBJECT-TYPE 
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The interface's peak transmitted bandwidth in bytes per second. 
             If the bandwidth of the interface is greater than the maximum value
             reportable by this object then this object should report its 
             maximum value (4,294,967,295)."
        ::= { zxAnEtherIfStatEntry 10 }

    zxAnEtherIfInOctetRate  OBJECT-TYPE 
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "An estimate of the interface's current received bandwidth in bytes 
             per second.
             For interfaces which do not vary in bandwidth or for those where no
             accurate estimation can be made, this object should contain the 
             nominal bandwidth.
             If the bandwidth of the interface is greater than the maximum value
             reportable by this object then this object should report its 
             maximum value (4,294,967,295)."
        ::= { zxAnEtherIfStatEntry 11 }

    zxAnEtherIfInPktRate OBJECT-TYPE 
        SYNTAX          Gauge32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "An estimate of the interface's current received bandwidth
            in packets per second.  For interfaces which do not vary in bandwidth or for 
            those where no accurate estimation can be made, this object should 
            contain the nominal bandwidth.  If the bandwidth of the interface 
            is greater than the maximum value reportable by this object then 
            this object should report its maximum value (4,294,967,295)."
        ::=  {  zxAnEtherIfStatEntry  12  }

    zxAnEtherIfInBandwidthUtil  OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "An estimate of the interface's current received bandwidth 
             utilization.
             The value is between 0 to 100."
        ::= { zxAnEtherIfStatEntry 13 }

    zxAnEtherIfInDiscardPktRatio  OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "An estimate of the interface's discarded packets ratio received.
             
             When bit 3 of zxAnInterfaceMgmtCapabilities is 0, the unit is 1%.
             When bit 3 of zxAnInterfaceMgmtCapabilities is 1, the unit is 
             0.01%."
        ::= { zxAnEtherIfStatEntry 14 }

    zxAnEtherIfInOctetPeakRate  OBJECT-TYPE 
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The interface's peak received bandwidth in bytes per second.
             If the bandwidth of the interface is greater than the maximum value
             reportable by this object then this object should report its 
             maximum value (4,294,967,295)."
        ::= { zxAnEtherIfStatEntry 15 }

    zxAnEtherIfInErrPktRatio  OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "An estimate of the interface's received error packets ratio.
             The value equals (recevied error packets / total received packets) 
             * 100%."
        ::= { zxAnEtherIfStatEntry 16 }

    zxAnEtherIfOutBwUtilThresh  OBJECT-TYPE 
        SYNTAX      Integer32(0..100)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The threshold of zxAnEtherIfOutBandwidthUtil.
             When it exceeds this threshold, the zxAnEtherIfOutBwUtilThreshAlarm
             trap should be generated.
             If zxAnEtherIfOutBandwidthUtil always exceeds the threshold, only 
             one zxAnEtherIfOutBwUtilThreshAlarm trap should be sent."
        DEFVAL  { 100 }
        ::=  {  zxAnEtherIfStatEntry  17  }

    zxAnEtherIfInBandwidthUtilThresh  OBJECT-TYPE 
        SYNTAX      Integer32(0..100)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The threshold of zxAnEtherIfInBandwidthUtil.
             When it exceeds this threshold, the zxAnEtherIfInBwUtilThreshAlarm 
             trap should be generated.
             If zxAnEtherIfInBandwidthUtil always exceeds the threshold, only 
             one zxAnEtherIfInBwUtilThreshAlarm trap should be sent."
        DEFVAL  { 100 }
        ::= { zxAnEtherIfStatEntry 18 }

    zxAnEtherIfOutPkts  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of packets that higher-level protocols requested 
             be transmitted.
            
             Discontinuities in the value of this counter can occur at
             re-initialization of the management system."
        ::= { zxAnEtherIfStatEntry 19 }

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

             Discontinuities in the value of this counter can occur at
             re-initialization of the management system."
        ::= { zxAnEtherIfStatEntry 20 }

    zxAnEtherIfOutOctetsCorrect  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of correct octets transmitted out of the 
             interface, including framing characters.

             Discontinuities in the value of this counter can occur at
             re-initialization of the management system."
        ::= { zxAnEtherIfStatEntry 21 }

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

             Discontinuities in the value of this counter can occur at
             re-initialization of the management system."
        ::= { zxAnEtherIfStatEntry 22 }

    zxAnEtherIfOutOctetsError  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of error octets transmitted out of the
             interface, including framing characters.

             Discontinuities in the value of this counter can occur at 
             re-initialization of the management system."
        ::= { zxAnEtherIfStatEntry 23 }

    zxAnEthIfStat1SecFcsErrs  OBJECT-TYPE 
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current 1 second FCSErrors counter of ethernet-like interface."
        ::= { zxAnEtherIfStatEntry 24 }

    zxAnEthIfStat1SecFcsErrsThresh  OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The threshold of zxAnEthIfStat1SecFcsErrs. 
             When it exceeds this threshold, the zxAnEthIf1SecFcsErrsThreshAlm 
             trap should be generated.
             If zxAnEthIfStat1SecFcsErrs always exceeds the threshold, only one 
             zxAnEthIf1SecFcsErrsThreshAlm trap should be sent. 
             The unit is number of error frames."
        ::= { zxAnEtherIfStatEntry 25 }

    zxAnEtherIfStatOutDiscardPkt  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."
        REFERENCE
            "Used by MAP"
        ::= { zxAnEtherIfStatEntry 26 }
    
    zxAnEtherIfStatInDiscardPkt  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of inbound packets which were chosen to be discarded
             even though no errors had been detected to prevent their being 
             deliverable to a higher-layer protocol. 
             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."
        REFERENCE
            "Used by MAP"
        ::= { zxAnEtherIfStatEntry 27 }
        
    zxAnEtherIfInPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of received packets.
            
             Discontinuities in the value of this counter can occur at
             re-initialization of the management system."
        ::= { zxAnEtherIfStatEntry 28 }

    zxAnEtherIfStatEs  OBJECT-TYPE
        SYNTAX      Counter64
        UNITS       "seconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Counter of errored seconds."
        ::= { zxAnEtherIfStatEntry 29 }
        
    zxAnEtherIfStatSes  OBJECT-TYPE
        SYNTAX      Counter64
        UNITS       "seconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Counter of severely errored seconds."
        ::= { zxAnEtherIfStatEntry 30 }
        
    zxAnEtherIfStatUas  OBJECT-TYPE
        SYNTAX      Counter64
        UNITS       "seconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Counter of unavailable seconds."
        ::= { zxAnEtherIfStatEntry 31 }
        
    zxAnEtherIfStatLoss  OBJECT-TYPE
        SYNTAX      Counter64
        UNITS       "seconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Counter of loss of signal seconds."
        ::= { zxAnEtherIfStatEntry 32 }
        
    zxAnEtherIfStatReset   OBJECT-TYPE
        SYNTAX      INTEGER
        {
            resetCounter(1)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "Reset interface statistics counter manually when it is set to '1'."
        REFERENCE
            "Used by MAP"
        ::=  {  zxAnEtherIfStatEntry  100  }

--------------------------------------------------------------------------------
-- 4.Ethernet-like Interface Mirroring Table
--------------------------------------------------------------------------------
    
    zxAnEtherPortMirroringTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnEtherPortMirroringEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the ethernet-like port mirroring.
            
            NOTES: 
                1. It must have only one MirroringPort in a device now.
                2. Mirrored Ports  can't be more than 8.
        "
        ::=  { zxAnInterfaceObjects  4 }

    zxAnEtherPortMirroringEntry   OBJECT-TYPE
        SYNTAX      ZxAnEtherPortMirroringEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnEtherPortMirroringTable."
        INDEX       { zxAnEtherIfMirrorSession  }
        ::=  { zxAnEtherPortMirroringTable 1 }

    ZxAnEtherPortMirroringEntry  ::=  SEQUENCE {
        zxAnEtherIfMirrorSession           Integer32,
        zxAnEtherIfMirrorIf                  ZxAnIfindex,
        zxAnEtherIfMirrorPortList              OBJECT IDENTIFIER,
        zxAnEtherIfMirrorDirectionList      OBJECT IDENTIFIER,
        zxAnEtherIfMirrorRowStatus             RowStatus
        }


    zxAnEtherIfMirrorSession OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The session id of the port mirroring."
        DEFVAL { 1 }    
        ::=  {  zxAnEtherPortMirroringEntry  1  }
        
    zxAnEtherIfMirrorIf OBJECT-TYPE 
        SYNTAX          ZxAnIfindex
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The ethernet-like mirroring port.It is the destination  
            port."
        ::=  {  zxAnEtherPortMirroringEntry  2  }

    zxAnEtherIfMirrorPortList OBJECT-TYPE 
        SYNTAX          OBJECT IDENTIFIER
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The ethernet-like mirrored port.It is a sequence of 
            some source ports,such as 1346.1245.2681 .
            NOTES: Max count of ports is 8 now.
                "
        ::=  {  zxAnEtherPortMirroringEntry  3  }

    zxAnEtherIfMirrorDirectionList OBJECT-TYPE 
        SYNTAX          OBJECT IDENTIFIER
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The traffic direction list of the mirrored port list.
                Each value of the sequence represents a traffic direction.
                The value may be followings:
                    both(1)
                    egress(2), 
                    ingress(3),
                "
        ::=  {  zxAnEtherPortMirroringEntry  4  }

    zxAnEtherIfMirrorRowStatus OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "Rowstatus of this entry."
        ::=  {  zxAnEtherPortMirroringEntry  5  }

--------------------------------------------------------------------------------
-- 5.SelfLoopback Definations
--------------------------------------------------------------------------------
    zxAnIfSelfLoopDetect  OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                          enable(1),
                          disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Enable or disable the self-loop detection functionality.
             "
        DEFVAL { 2 }                   
        ::= { zxAnInterfaceObjects 5 }
        
    zxAnIfAutoShutdownBySelfLoop  OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                          enable(1),
                          disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Enable or disable the auto-shutdown functionality.
             If zxAnIfAutoShutdownBySelfLoop is enabled, interface can be
             auto-shutdown when self-loop is detected.
             "
        DEFVAL { 2 }                   
        ::= { zxAnInterfaceObjects 6 }
    
    zxAnIfLoopBackConfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnIfLoopBackConfEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
         "This table is interface loop back configuration information table"
     ::= { zxAnInterfaceObjects 7 }

     zxAnIfLoopBackConfEntry  OBJECT-TYPE
       SYNTAX      ZxAnIfLoopBackConfEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "An entry containing interface loop back configuration information."
       INDEX    { ifIndex }
     ::= { zxAnIfLoopBackConfTable 1 }

     
     ZxAnIfLoopBackConfEntry ::=
          SEQUENCE {
             zxAnIfLoopBackConfDetection    INTEGER
             }
          
     zxAnIfLoopBackConfDetection  OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                          enable(1),
                          disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Enable or disable the self-loop detection functionality
             for special interface.
             "
        DEFVAL { 2 }                   
        ::= { zxAnIfLoopBackConfEntry 1 }
          
    zxAnIfLoopBackTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnIfLoopBackEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
         "This table is interface loop back information table"
     ::= { zxAnInterfaceObjects 8 }

     zxAnIfLoopBackEntry  OBJECT-TYPE
       SYNTAX      ZxAnIfLoopBackEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "An entry containing interface loop back information."
       INDEX    { ifIndex }
     ::= { zxAnIfLoopBackTable 1 }

     ZxAnIfLoopBackEntry ::=
          SEQUENCE {
             zxAnIfLoopBackStatus       INTEGER,
             zxAnIfLoopBackClearAction  INTEGER
             }
          
     zxAnIfLoopBackStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                          normal(1),
                          selfLoop(2),
                          selfLoopClose(3),
                          selfLoopRecover(4)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The loop back status. The value selfLoop means 
                 interface self-loop is detected.
                 selfLoopRecover means that interface is closed 
                 because of self-loop failure.
                 selfLoopRecover means that the status of interface
                 is trying to change from selfLoopClose to normal."
        ::= { zxAnIfLoopBackEntry 1 }
        
     zxAnIfLoopBackClearAction OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                          clear(1)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "Clear Management object loop back status. this action means 
                 set zxAnIfLoopBackStatus value to normal."
        ::= { zxAnIfLoopBackEntry 2 }        


--------------------------------------------------------------------------------
-- 6.Ethernet Global Mgmt
--------------------------------------------------------------------------------    
    zxAnEtherGlobalObjects OBJECT IDENTIFIER  ::=  { zxAnInterfaceObjects 9 }
    
    zxAnEtherBroadcastLimitEnable  OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                          enable(1),
                          disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Enable or disable the ethernet switch broadcast limit.
             "
        DEFVAL { 1 }                   
        ::= { zxAnEtherGlobalObjects 1 }
        
    zxAnEtherFwdFloodBpduPktEnable  OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                          enable(1),
                          disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Enable or disable the ethernet switch forward flood BPDU packet.
             "
        DEFVAL { 1 }                   
        ::= { zxAnEtherGlobalObjects 2 }
        
    zxAnEtherMulticastLimitEnable  OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                          enable(1),
                          disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Enable or disable the ethernet switch multicast limit.
             "
        DEFVAL { 1 }                   
        ::= { zxAnEtherGlobalObjects 3 }
        
    zxAnEtherPacketFloodLimit  OBJECT-TYPE
        SYNTAX          Integer32(0..100000) 
        UNITS              "kbps"  
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "configuare the package flood limit.
             "
        DEFVAL { 100 }                   
        ::= { zxAnEtherGlobalObjects 4 }
        
    zxAnEtherPortProtectEnable  OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                          enable(1),
                          disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Enable or disable the ethernet switch port protect.
             "
        DEFVAL { 1 }                   
        ::= { zxAnEtherGlobalObjects 5 }
        
    zxAnEtherUnknowncastLimitEnable OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                          enable(1),
                          disable(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Enable or disable the ethernet switch unknowncast limit.
             "
        DEFVAL { 1 }                   
        ::= { zxAnEtherGlobalObjects 6 }
        
    zxAnEtherVdslPortProtectTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnEtherVdslPortProtectEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table includes the ethernet-switch port Protect,for all vdsl card.             
            "
        ::= { zxAnEtherGlobalObjects 7 }

    zxAnEtherVdslPortProtectEntry OBJECT-TYPE
        SYNTAX      ZxAnEtherVdslPortProtectEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnEtherVdslPortProtectTable."
        INDEX       { zxAnEtherVdslPortProtectId }
        ::= { zxAnEtherVdslPortProtectTable 1 }

    ZxAnEtherVdslPortProtectEntry ::= SEQUENCE {
        zxAnEtherVdslPortProtectId           INTEGER,
        zxAnEtherVdslPortProtectVlanId       Integer32,
        zxAnEtherVdslPortProtectEnable       INTEGER,
        zxAnEtherVdslPortProtRowStatus    RowStatus
    }

    zxAnEtherVdslPortProtectId OBJECT-TYPE 
        SYNTAX      INTEGER(1..16)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION     
            "The Port Protect id."
        DEFVAL { 1 }    
        ::= { zxAnEtherVdslPortProtectEntry 1 }
        
    zxAnEtherVdslPortProtectVlanId OBJECT-TYPE 
        SYNTAX      Integer32(1..4095)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The Vlan Id."
        ::= { zxAnEtherVdslPortProtectEntry 2 }

    zxAnEtherVdslPortProtectEnable OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "Enable or disable the ethernet switch Port protect for Vdsl card.
            "
        ::= { zxAnEtherVdslPortProtectEntry 3 }

    zxAnEtherVdslPortProtRowStatus OBJECT-TYPE 
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "Rowstatus of this entry."
        ::= { zxAnEtherVdslPortProtectEntry 10 }   
        
    zxAnEtherIfStatInterval OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Ethernet interface statistic interval, The rate and ratio value is calculated in
             this interval. The value is between 30 to 600 seconds."
        DEFVAL { 30 }                   
        ::= { zxAnEtherGlobalObjects 10 }              

    zxAnEtherMaxFrameSize OBJECT-TYPE
        SYNTAX      Integer32(1518..9600)
        UNITS       "bytes"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Global system maximum frame size, specifies the maximum frame size
             on all interfaces(PON ports and uplink interfaces). The invalid
             frame whose size is larger than the object will be discarded."
        DEFVAL { 1600 } 
        ::= { zxAnEtherGlobalObjects 11 }

--------------------------------------------------------------------------------
-- 7.MAC Drift Mgmt
--------------------------------------------------------------------------------   
    zxAnMacDriftObjects OBJECT IDENTIFIER  ::=  { zxAnInterfaceObjects 10 }
    
    zxAnDriftMac OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The MAC of packets,which drifted."
        ::= { zxAnMacDriftObjects 1 }  
        
    zxAnDriftVlan OBJECT-TYPE
        SYNTAX      VlanId
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The port VLAN, which MAC drifted.."
        ::= { zxAnMacDriftObjects 2 }  
        
    zxAnUplinkIfindex OBJECT-TYPE
        SYNTAX      ZxAnIfindex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The uplink Interface index."
        ::= { zxAnMacDriftObjects 3 } 
        
    zxAnDriftMacStatus OBJECT-TYPE
         SYNTAX             INTEGER  
          { 
              driftMacSuccess (1),
              driftMacFailed (2)
          } 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Mac drift status,success or failed"
        ::= { zxAnMacDriftObjects 4 }          
        
--------------------------------------------------------------------------------
-- 8.If Loopback Test Table
--------------------------------------------------------------------------------

    zxAnIfLoopBackTestTable  OBJECT-TYPE
            SYNTAX      SEQUENCE OF ZxAnIfLoopBackTestEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                 "This table provides one row for each interface loopback test."
            ::= {zxAnInterfaceObjects 11}
    
    
    zxAnIfLoopBackTestEntry  OBJECT-TYPE
            SYNTAX      ZxAnIfLoopBackTestEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "DSL line loopback test information entry"
            INDEX    { zxAnIfLoopBackTestRack,zxAnIfLoopBackTestShelf,
                       zxAnIfLoopBackTestSlot,zxAnIfLoopBackTestPort,
                       zxAnIfLoopBackTestBridgePort  }
            ::= {zxAnIfLoopBackTestTable 1}
    
    
    ZxAnIfLoopBackTestEntry ::=
            SEQUENCE { 
                zxAnIfLoopBackTestRack               Integer32,  
                zxAnIfLoopBackTestShelf              Integer32,
                zxAnIfLoopBackTestSlot               Integer32,
                zxAnIfLoopBackTestPort               Integer32,
                zxAnIfLoopBackTestBridgePort         Integer32,  
                zxAnIfLoopBackTestType               INTEGER,
                zxAnIfLoopBackTestOperStatus         INTEGER,
                zxAnIfLoopBackTestResult             INTEGER,
                zxAnIfLoopBackTestConfSendCells      Integer32,
                zxAnIfLoopBackTestRstRecvCells       Integer32,
                zxAnIfLoopBackTestRowStatus          RowStatus
                }
    
    zxAnIfLoopBackTestRack  OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                 "Rack number of the port."
            ::= { zxAnIfLoopBackTestEntry 1 }



    zxAnIfLoopBackTestShelf  OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                 "Shelf number of the port."
            ::= { zxAnIfLoopBackTestEntry 2 }


    zxAnIfLoopBackTestSlot  OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                 "Slot number of the port."
            ::= { zxAnIfLoopBackTestEntry 3 }


    zxAnIfLoopBackTestPort  OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                 "The port number."
            ::= { zxAnIfLoopBackTestEntry 4 }



    zxAnIfLoopBackTestBridgePort  OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                 "bridge port index. eg.It is PVC ID in  ADSL port.
                 If the test is only in the physical port,then this fileds will be 0"
            ::= { zxAnIfLoopBackTestEntry 5 }


    zxAnIfLoopBackTestType  OBJECT-TYPE
            SYNTAX      INTEGER {
                noOper(0),  -- No operation
                cancle(1),  -- Cancle this test
                f4end(2),  -- ATM F4 end-to-end test
                f4segment(3),     -- ATM F4 segment test
                f5end(4),  -- ATM F5 end-to-end test
                f5segment(5) -- ATM F5 segment test                
                }
            MAX-ACCESS  read-create
            STATUS      current
            DESCRIPTION
                 "This is loop test action expected.
                 
                 NOTES:
                 
                 "
            ::= { zxAnIfLoopBackTestEntry 6 }


    zxAnIfLoopBackTestOperStatus  OBJECT-TYPE
            SYNTAX      INTEGER {
                neverExcute(0),   -- Never excute test
                excuting(1),      -- Excuting test now
                excuted(2),       -- Test has been excuted
                faliedToCommit(3) -- Falied to commit test command to DSL card.
                }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                 "This is loop test operational status.
                  
                  Note: if zxAnIfLoopBackTestOperStatus equal to Excuting(1),
                  ifOperStaus should be loopback test(3). "
            ::= { zxAnIfLoopBackTestEntry 7 }


    zxAnIfLoopBackTestResult  OBJECT-TYPE
            SYNTAX      INTEGER {
                noResult(0), 
                success(1),
                generalFailed(2), -- Test failed but no detailed reason.                 
                noSupport(3),     -- Current card doesn't support this test.         
                unkown(4),        -- Unkown the test result.                             
                noSuchPort(5),    -- No this port on card                            
                loopBackFailed(6),-- Loop back failed on card                        
                portNotActive(7), -- Some test can't be excuted when port is not actived. 
                portInTesting(8), -- Port in testing and can't excute the new test            
                portInService(9), -- Port in service and can't excute the test                
                portFailures(10), -- Port has failures and can't excute the test             
                cardFailures(11), -- Card has failures and can't excute the test
                noPvcFound(12),   -- No PVC found on the test port 
                unknownTestType(13) -- The test type is not UTOPIA,AFE,HYBRID,ATUC-OAM or ATUR-OAM
            }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                 "This is loop test result and includes reasons for test failures."
            ::= { zxAnIfLoopBackTestEntry 8 }
            
            
    zxAnIfLoopBackTestConfSendCells  OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  read-create
            STATUS      current
            DESCRIPTION
                 "The count of cells will be sent in the loopback test."
                 
             ::= { zxAnIfLoopBackTestEntry 9 }


    zxAnIfLoopBackTestRstRecvCells  OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                 "The count of recived cells in the loopback test."
             ::= { zxAnIfLoopBackTestEntry 10 }


    zxAnIfLoopBackTestRowStatus  OBJECT-TYPE
            SYNTAX      RowStatus
            MAX-ACCESS  read-create
            STATUS      current
            DESCRIPTION
                 "Loop test table RowStatus . "
             ::= { zxAnIfLoopBackTestEntry 15 }
                    
                          
--------------------------------------------------------------------------------
-- 9.Ethernet-like Interface Queue statistics table
--------------------------------------------------------------------------------
    zxAnEtherIfQueueStatTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnEtherIfQueueStatEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table includes the queue performance Stat."
        ::=  { zxAnInterfaceObjects  12 }

    zxAnEtherIfQueueStatEntry   OBJECT-TYPE
        SYNTAX      ZxAnEtherIfQueueStatEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnEtherIfQueueStatTable."
        INDEX       { ifIndex, zxAnEtherIfQueueNo  }
        ::=  { zxAnEtherIfQueueStatTable 1 }

    ZxAnEtherIfQueueStatEntry  ::=  SEQUENCE {
        zxAnEtherIfQueueNo                      Integer32,
        zxAnEtherIfQueueInOctets                Counter32,
        zxAnEtherIfQueueInPkts                  Counter32,
        zxAnEtherIfQueueOutOctets               Counter32,
        zxAnEtherIfQueueOutPkts                 Counter32,
        zxAnEtherIfQueueDropOctets              Counter32,                    
        zxAnEtherIfQueueDropPkts                Counter32                    
        }

    zxAnEtherIfQueueNo OBJECT-TYPE 
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The queeue number of the interface."
        ::=  {  zxAnEtherIfQueueStatEntry  1  }

    zxAnEtherIfQueueInOctets OBJECT-TYPE 
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The total number of octets received on the queue of the interface."
        ::=  {  zxAnEtherIfQueueStatEntry  2  }

    zxAnEtherIfQueueInPkts OBJECT-TYPE 
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The total number of packets received on the queue of the interface."
        ::=  {  zxAnEtherIfQueueStatEntry  3  }

    zxAnEtherIfQueueOutOctets OBJECT-TYPE 
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The total number of octets transmitted out of the queue of the interface."
        ::=  {  zxAnEtherIfQueueStatEntry  4  }

    zxAnEtherIfQueueOutPkts OBJECT-TYPE 
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The total number of packets transmitted out of the queue of the interface."
        ::=  {  zxAnEtherIfQueueStatEntry  5  }

    zxAnEtherIfQueueDropOctets OBJECT-TYPE 
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The total number of octets droped in the queue of the interface."
        ::=  {  zxAnEtherIfQueueStatEntry  6  }

    zxAnEtherIfQueueDropPkts OBJECT-TYPE 
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The total number of packets droped in the queue of the interface."
        ::=  {  zxAnEtherIfQueueStatEntry  7  }
        
        
        
--------------------------------------------------------------------------------
-- 10.Optical Module Monitored Table
--------------------------------------------------------------------------------
    zxAnOpticalModuleMonTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnOpticalModuleMonEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table provides objects to monitor optical module
         in a network element. It also provides
        objects for setting high and low threshold levels."
        ::=  { zxAnInterfaceObjects  13 }

    zxAnOpticalModuleMonEntry   OBJECT-TYPE
        SYNTAX      ZxAnOpticalModuleMonEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in zxAnOpticalModuleMonTable."
        INDEX       { ifIndex }
        ::=  { zxAnOpticalModuleMonTable 1 }

    ZxAnOpticalModuleMonEntry  ::=  SEQUENCE {
        zxAnOpticalPowerRxCurrValue             Integer32,
        zxAnOpticalPowerRxLowerThresh           Integer32,
        zxAnOpticalPowerRxUpperThresh           Integer32,

        zxAnOpticalPowerTxCurrValue             Integer32,
        zxAnOpticalPowerTxLowerThresh           Integer32,
        zxAnOpticalPowerTxUpperThresh           Integer32,
        
        zxAnOpticalIfRxRate                     Integer32,
        zxAnOpticalIfTxRate                     Integer32,
        
        zxAnOpticalBiasCurrent                  Integer32,
        zxAnOpticalSupplyVoltage                Integer32,
        zxAnOpticalWavelength                   Integer32,
        zxAnOpticalTemperature                  Integer32,
        zxAnOpticalVenderPn                     DisplayString,
        zxAnOpticalVenderName                   DisplayString,    
        
        zxAnOpticalBiasCurrLowerThresh          Integer32,
        zxAnOpticalBiasCurrUpperThresh          Integer32,
        zxAnOpticalVoltageLowerThresh           Integer32,
        zxAnOpticalVoltageUpperThresh           Integer32,
        zxAnOpticalTempLowerThresh              Integer32,
        zxAnOpticalTempUpperThresh              Integer32,
        
        zxAnOpticalIfRate                       Integer32,           
        zxAnOpticalFiberType                    INTEGER,
        zxAnOpticalVersionLevel                 DisplayString, 
        zxAnOpticalVendorSn                     DisplayString,  
        zxAnOpticalProductionDate               DisplayString,  
        zxAnOpticalModuleType                   DisplayString,  
        zxAnOpticalFiberInterfaceType           DisplayString,  
        zxAnOpticalMaterialNumber               OCTET STRING,
        zxAnOpticalRegisterData                 OCTET STRING
        }


    zxAnOpticalPowerRxCurrValue OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.001dbm"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The optical power monitored at the input.
            Value 0x7fffffff means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  1  }

    
    zxAnOpticalPowerRxLowerThresh OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.1dbm"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION     
            "The lower limit threshold on input optical power.
            The alarm should be generated when zxAnOpticalPowerRxCurrValue 
            is lower than this threshold. "
        ::=  {  zxAnOpticalModuleMonEntry  2}

    zxAnOpticalPowerRxUpperThresh OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.1dbm"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION     
            "The upper limit threshold on input optical power. 
            The alarm should be generated when zxAnOpticalPowerRxCurrValue 
            exceeds this threshold."
        ::=  {  zxAnOpticalModuleMonEntry  3 }
        
    zxAnOpticalPowerTxCurrValue OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.001dbm"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The optical power monitored at the output.
            Value 0x7fffffff means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  4  }

  
    zxAnOpticalPowerTxLowerThresh OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.1dbm"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION     
            "The lower limit threshold on output optical power.
            The alarm should be generated  when zxAnOpticalPowerTxCurrValue is 
            lower than this threshold. "
        ::=  {  zxAnOpticalModuleMonEntry  5 }

    zxAnOpticalPowerTxUpperThresh OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.1dbm"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION     
            "The upper limit threshold on output optical power.
            The alarm should be generated when zxAnOpticalPowerTxCurrValue 
            exceeds this threshold."
        ::=  {  zxAnOpticalModuleMonEntry  6 }        
              
    zxAnOpticalIfRxRate OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.1Gb/s"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical modules interface rate  at the input."
        ::=  {  zxAnOpticalModuleMonEntry  7 }        

    zxAnOpticalIfTxRate OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.1Gb/s"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical modules  interface rate at the output."
        ::=  {  zxAnOpticalModuleMonEntry  8 }        

    zxAnOpticalBiasCurrent OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.001mA"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical modules bias current .
            Value 0x7fffffff means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  9 }        

    zxAnOpticalSupplyVoltage OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.001 Volts"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical  modules supply voltage.
            Value 0x7fffffff means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  10 }        

    zxAnOpticalWavelength OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "nm"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical  modules wavelength.
            Value 0x7fffffff means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  11 }        

    zxAnOpticalTemperature OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.001Degrees"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical modules temperature .
            Value 0x7fffffff means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  12 }        

    zxAnOpticalVenderPn OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (0..20))
        UNITS       ""
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical modules vender P/N.
            Empty string means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  13}        

    zxAnOpticalVenderName OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (0..20))
        UNITS       ""
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical  modules vender name.
            Empty string means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  14 }   
    
    zxAnOpticalBiasCurrLowerThresh OBJECT-TYPE 
        SYNTAX      Integer32(0..1500)
        UNITS       "0.1mA"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION  
            "The lower limit threshold on optical modules bias current.
            The alarm should be generated  when zxAnOpticalBiasCurrent 
            is lower than this threshold."
        ::=  {  zxAnOpticalModuleMonEntry  51 }    
        
    zxAnOpticalBiasCurrUpperThresh OBJECT-TYPE 
        SYNTAX      Integer32(0..1500)
        UNITS       "0.1mA"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION     
            "The upper limit threshold on optical modules bias current.
            The alarm should be generated when zxAnOpticalBiasCurrent 
            exceeds this threshold."
        ::=  {  zxAnOpticalModuleMonEntry  52 } 

    zxAnOpticalVoltageLowerThresh OBJECT-TYPE 
        SYNTAX      Integer32(0..100)
        UNITS       "0.1 Volt"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION     
            "The lower limit threshold on optical modules supply voltage.
            The alarm should be generated when zxAnOpticalSupplyVoltage 
            is lower than this threshold."
        ::=  {  zxAnOpticalModuleMonEntry  53 } 
        
    zxAnOpticalVoltageUpperThresh OBJECT-TYPE 
        SYNTAX      Integer32(0..100)
        UNITS       "0.1 Volt"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION     
            "The upper limit threshold on optical modules supply voltage.
            The alarm should be generated when zxAnOpticalSupplyVoltage 
            exceeds this threshold."
        ::=  {  zxAnOpticalModuleMonEntry  54 } 
        
    zxAnOpticalTempLowerThresh OBJECT-TYPE 
        SYNTAX      Integer32(-50..100)
        UNITS       "Centigrade"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION     
            "The lower limit threshold on optical modules temperature.
            The alarm should be generated  when zxAnOpticalTemperature 
            is lower than this threshold."
        ::=  {  zxAnOpticalModuleMonEntry  55 }      
        
    zxAnOpticalTempUpperThresh OBJECT-TYPE 
        SYNTAX      Integer32(-50..100)
        UNITS       "Centigrade"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION     
            "The upper limit threshold on optical modules temperature.
            The alarm should be generated when zxAnOpticalTemperature 
            exceeds this threshold."
        ::=  {  zxAnOpticalModuleMonEntry  56 } 

    zxAnOpticalIfRate OBJECT-TYPE 
        SYNTAX      Integer32
        UNITS       "0.1Gbps"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical module interface rate.
            Value 0x7fffffff means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  57 }    
    
    zxAnOpticalFiberType OBJECT-TYPE 
        SYNTAX      INTEGER { 
            singleMode(1), 
            multiMode(2), 
            unknown(3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical module Fiber Type."
        ::=  {  zxAnOpticalModuleMonEntry  58 } 
        
    zxAnOpticalVersionLevel OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (0..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical module vension Level.
            Empty string means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  59 }  
        
    zxAnOpticalVendorSn OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (0..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical  module vender sn.
            Empty string means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  60 }     
 
    zxAnOpticalProductionDate OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (0..8))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical module production date.
            Empty string means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  61 }  
        
    zxAnOpticalModuleType OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (0..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical module type.
            Empty string means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  62 }          

    zxAnOpticalFiberInterfaceType OBJECT-TYPE 
        SYNTAX      DisplayString (SIZE (0..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical fiber interface.
            Empty string means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  63 }  

    zxAnOpticalMaterialNumber OBJECT-TYPE 
        SYNTAX      OCTET STRING (SIZE (0..20))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The material number of pin(A2).
            The string which is composed of 'f' means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  64 }  

    zxAnOpticalRegisterData OBJECT-TYPE 
        SYNTAX      OCTET STRING (SIZE (0..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION     
            "The optical module data is from register.
            The string which is composed of 'f' means unsupported."
        ::=  {  zxAnOpticalModuleMonEntry  65 }         
    
------------------------------------------------------------------------------
-- 11.COM management
------------------------------------------------------------------------------

    zxAnComMgmt  OBJECT IDENTIFIER ::= {  zxAnInterfaceObjects  14  }
    
    zxAnComGlobalObjects  OBJECT IDENTIFIER  ::= { zxAnComMgmt 1 }
             
    zxAnVirtualComAdminMode  OBJECT-TYPE 
       SYNTAX      INTEGER
       {
           discovered (1),
           report (2)
       }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The mode of virtual COM port.           
            discovered(1) - The COM port will be discovered with broadcast 
                             by the manager.
            report(2)     - The COM port will report itself to the manager.
           "
       DEFVAL      { discovered }           
        ::=  {  zxAnComGlobalObjects  1  }    
    
    zxAnVirtualComDiscoveredPort  OBJECT-TYPE 
       SYNTAX      INTEGER(1..65535)      
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
           "The listening port of virtual COM port in discovered mode."
        ::=  {  zxAnComGlobalObjects  2  }
        
    zxAnVirtualComReportIp  OBJECT-TYPE 
       SYNTAX      InetAddress       
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
           "The remote manager ip address of vitual COM port in report mode."
        ::=  {  zxAnComGlobalObjects  3  }
        
    zxAnVirtualComReportPort  OBJECT-TYPE 
       SYNTAX      Integer32       
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
           "The remote manager TCP/IP port of vitual COM port in report mode."
        ::=  {  zxAnComGlobalObjects  4  }
        
    zxAnVirtualComSignalPort  OBJECT-TYPE 
       SYNTAX      INTEGER(1..65535)       
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
           "The listening port of virtual COM port for signaling transfer."
        ::=  {  zxAnComGlobalObjects  5  }
        
    zxAnComVlanId  OBJECT-TYPE 
       SYNTAX      INTEGER(1..4094)       
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
           "The VLAN ID is used to transfer com package."
       DEFVAL      { 4092 }
        ::=  {  zxAnComGlobalObjects  6  }
        
    zxAnComPortObjects   OBJECT IDENTIFIER  ::= { zxAnComMgmt 2 }
      
    zxAnComPortTable OBJECT-TYPE
       SYNTAX SEQUENCE OF ZxAnComPortEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
       "The COM port table. "
       ::= { zxAnComPortObjects 1 }
       
   zxAnComPortEntry OBJECT-TYPE
       SYNTAX ZxAnComPortEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
       "An entry in the COM port table . "
       INDEX {  zxAnComPortIfIndex  }
       ::= { zxAnComPortTable 1 }
       
   ZxAnComPortEntry ::= SEQUENCE {                
           zxAnComPortIfIndex              ZxAnIfindex,
           zxAnComPortConfigType           INTEGER,
           zxAnComPortFlowControl          INTEGER,
           zxAnComPortCommMode             INTEGER,         
           zxAnComPortIpCommProtocol       INTEGER,    
           zxAnComLocalTcpUdpPort          INTEGER,
           zxAnComPortPeerIpAddress        InetAddress,
           zxAnComPortPeerTcpUdpPort       INTEGER,  
           zxAnComPortEncryptionMode       INTEGER,
           zxAnComPortCacheDataEnable      INTEGER,
           zxAnComPacketTransmitSize       Integer32,
           zxAnComPacketTransmitInterval   Integer32,
           zxAnComPortAdminMode            INTEGER,
           zxAnComPortReportIpType         InetAddressType,
           zxAnComPortReportIp             InetAddress,
           zxAnComPortReportPort           Integer32,
           zxAnComPortVlanId               Integer32
    }        
      
    zxAnComPortIfIndex OBJECT-TYPE
       SYNTAX      ZxAnIfindex 
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The index of the COM port. "
       ::= { zxAnComPortEntry 1 }
       
    zxAnComPortConfigType OBJECT-TYPE
       SYNTAX      INTEGER 
       { 
           rs232 (1),
           rs485 (2)
       }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The config type of the COM port. "
       DEFVAL      { rs232 }           
       ::= { zxAnComPortEntry 2 }
       
    zxAnComPortFlowControl OBJECT-TYPE
       SYNTAX      INTEGER 
       { 
           none (1),
           rtsCts (2)
       }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The flow control of the COM port. "
       DEFVAL      { none }           
       ::= { zxAnComPortEntry 3 }       
       
    zxAnComPortCommMode OBJECT-TYPE
       SYNTAX      INTEGER
       {
           ipAndPort (1),
           virtualComPort (2)
       }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The communication mode of the COM port.
            ipAndPort (1)      -  The COM port will send and receive message
                                  with the specified IP and port.        
            virtualComPort (2) -  The COM port will be managed and communicated 
                                  with other virtual COM port.          
           "
       ::= { zxAnComPortEntry 4 }        
              
    zxAnComPortIpCommProtocol OBJECT-TYPE
       SYNTAX      INTEGER
       {
           udp (1),
           tcpServer (2),
           tcpClient (3)
       }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The protocol of the COM port communication in ipAndPort mode. "
       DEFVAL      { udp }           
       ::= { zxAnComPortEntry 5 }
        
    zxAnComLocalTcpUdpPort OBJECT-TYPE
       SYNTAX      INTEGER(1..65535) 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The local TCP/UDP port for the COM port communication. "
       ::= { zxAnComPortEntry 6 }
       
    zxAnComPortPeerIpAddress OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The peer IP address for the COM port communication. "
       ::= { zxAnComPortEntry 7 }
       
    zxAnComPortPeerTcpUdpPort OBJECT-TYPE
       SYNTAX      INTEGER(1..65535) 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The TCP/UDP port for the COM port communication. "
       ::= { zxAnComPortEntry 8 }
       
    zxAnComPortEncryptionMode OBJECT-TYPE
       SYNTAX      INTEGER
       {
           none (1),
           md5 (2)
       }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The encryption mode for the COM port communication. "
       DEFVAL      { none }           
       ::= { zxAnComPortEntry 9 }
       
     zxAnComPortCacheDataEnable  OBJECT-TYPE
       SYNTAX      INTEGER 
       {
           enable(1),
           disable(2)   
       }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The cache ability while reading data from the COM port."
       ::= { zxAnComPortEntry 10 }
       
     zxAnComPacketTransmitSize  OBJECT-TYPE
       SYNTAX      Integer32    
       UNITS       "bytes"     
       MAX-ACCESS  read-write       
       STATUS      current
       DESCRIPTION
           "The packet size condition while transmitting packet.
            The packet will be transmitted once this size satisfied."
       ::= { zxAnComPortEntry 11 }
       
     zxAnComPacketTransmitInterval  OBJECT-TYPE
       SYNTAX      Integer32
       UNITS       "ms" 
       MAX-ACCESS  read-write     
       STATUS      current
       DESCRIPTION
           "The interval condition while transmitting packet.
            The packet will be transmitted once the time satisfied."
       ::= { zxAnComPortEntry 12 }
       
   zxAnComPortAdminMode  OBJECT-TYPE 
       SYNTAX      INTEGER
       {
           discovered (1),
           report     (2)
       }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The mode of COM port.           
            discovered(1) - The COM port will be discovered with broadcast 
                             by the manager.
            report(2)     - The COM port will report itself to the manager.
           "
       DEFVAL      { discovered }           
       ::= { zxAnComPortEntry 13 }
       
   zxAnComPortReportIpType  OBJECT-TYPE 
       SYNTAX      InetAddressType       
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
           "The remote manager ip address address type such as IPv4 or IPv6."
       ::= { zxAnComPortEntry 14 }
       
   zxAnComPortReportIp  OBJECT-TYPE 
       SYNTAX      InetAddress       
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
           "The remote manager ip address of COM port in report mode."
       ::= { zxAnComPortEntry 15 }
        
   zxAnComPortReportPort  OBJECT-TYPE 
       SYNTAX      Integer32(1..65535)      
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
           "The remote manager TCP/IP port of COM port in report mode."
       ::= { zxAnComPortEntry 16 }
       
   zxAnComPortVlanId  OBJECT-TYPE 
       SYNTAX      Integer32(0..4094)       
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION 
           "The VLAN ID is used to transfer COM package.
            Value 0 means no VLAN ID is specified."
       DEFVAL      { 4092 }
       ::= { zxAnComPortEntry 17 }
        
--------------------------------------------------------------------------------
-- 12.Ethernet History Statistics Table
--------------------------------------------------------------------------------

     zxAnEthHisStatsTable OBJECT-TYPE
       SYNTAX SEQUENCE OF ZxAnEthHisStatsEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
                  "A list of Ethernet statistics entries."
              ::= { zxAnInterfaceObjects 15 }

     zxAnEthHisStatsEntry OBJECT-TYPE
       SYNTAX ZxAnEthHisStatsEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "A collection of statistics kept for a particular
               Ethernet interface.  As an example, an instance of the
                  etherHistStatsPkts object might be named etherHistStatsPkts.1"
              INDEX { zxAnEthHisStatsIndex }
              ::= { zxAnEthHisStatsTable 1 }

     ZxAnEthHisStatsEntry ::= SEQUENCE {
              zxAnEthHisStatsIndex                 ZxAnIfindex,
              zxAnEthHisDropEvents                 Counter64,
              zxAnEthHisInOctets                   Counter64,
              zxAnEthHisInPkts                     Counter64,
              zxAnEthHisInBroadcastPkts            Counter64,
              zxAnEthHisInMulticastPkts            Counter64,
              zxAnEthHisInCRCAlignErrors           Counter64,
              zxAnEthHisInUndersizePkts            Counter64,
              zxAnEthHisInOversizePkts             Counter64,
              zxAnEthHisInFragments                Counter64,
              zxAnEthHisInJabbers                  Counter64,
              zxAnEthHisCollisions                 Counter64,
              zxAnEthHisInPkts64Octets             Counter64,
              zxAnEthHisInPkts65to127Octets        Counter64,
              zxAnEthHisInPkts128to255Octets       Counter64,
              zxAnEthHisInPkts256to511Octets       Counter64,
              zxAnEthHisInPkts512to1023Octets      Counter64,
              zxAnEthHisInPkts1024to1518Octets     Counter64
              
          }

     zxAnEthHisStatsIndex OBJECT-TYPE
         SYNTAX ZxAnIfindex
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
             "The value of this object uniquely identifies this
             etherHistStats entry."
         ::= { zxAnEthHisStatsEntry 1 }


     zxAnEthHisDropEvents OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of events in which packets
             were dropped by the probe due to lack of resources.
             Note that this number is not necessarily the number of
             packets dropped; it is just the number of times this
             condition has been detected."
         ::= { zxAnEthHisStatsEntry 2 }

     zxAnEthHisInOctets OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of octets of data (including
             those in bad packets) received on the
             network (excluding framing bits but including
             FCS octets).

             This object can be used as a reasonable estimate of
             ethernet utilization.  If greater precision is
             desired, the etherHistStatsPkts and etherHistStatsOctets
             objects should be sampled before and after a common
             interval.  The differences in the sampled values are
             Pkts and Octets, respectively, and the number of
             seconds in the interval is Interval.  These values
             are used to calculate the Utilization as follows:

                              Pkts * (9.6 + 6.4) + (Octets * .8)
              Utilization = -------------------------------------
                                      Interval * 10,000

             The result of this equation is the value Utilization
             which is the percent utilization of the ethernet
             segment on a scale of 0 to 100 percent."
         ::= { zxAnEthHisStatsEntry 3 }

     zxAnEthHisInPkts OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets (including bad packets,
             broadcast packets, and multicast packets) received."
         ::= { zxAnEthHisStatsEntry 4 }

     zxAnEthHisInBroadcastPkts OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of good packets received that were
             directed to the broadcast address.  Note that this
             does not include multicast packets."
         ::= { zxAnEthHisStatsEntry 5 }

     zxAnEthHisInMulticastPkts OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of good packets received that were
             directed to a multicast address.  Note that this
             number does not include packets directed to the
             broadcast address."
         ::= { zxAnEthHisStatsEntry 6 }

     zxAnEthHisInCRCAlignErrors OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets received that
             had a length (excluding framing bits, but
             including FCS octets) of between 64 and 1518
             octets, inclusive, but had either a bad
             Frame Check Sequence (FCS) with an integral
             number of octets (FCS Error) or a bad FCS with
             a non-integral number of octets (Alignment Error)."
         ::= { zxAnEthHisStatsEntry 7 }

     zxAnEthHisInUndersizePkts OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets received that were
             less than 64 octets long (excluding framing bits,
             but including FCS octets) and were otherwise well
             formed."
         ::= { zxAnEthHisStatsEntry 8 }

     zxAnEthHisInOversizePkts OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets received that were
             longer than 1518 octets (excluding framing bits,
             but including FCS octets) and were otherwise
             well formed."
         ::= { zxAnEthHisStatsEntry 9 }

     zxAnEthHisInFragments OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets received that were less
             than 64 octets in length (excluding framing bits but
             including FCS octets) and had either a bad Frame
             Check Sequence (FCS) with an integral number of
             octets (FCS Error) or a bad FCS with a non-integral
             number of octets (Alignment Error).

             Note that it is entirely normal for
             etherHistStatsFragments to increment.  This is because
             it counts both runts (which are normal occurrences
             due to collisions) and noise hits."
         ::= { zxAnEthHisStatsEntry 10 }

     zxAnEthHisInJabbers OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets received that were
             longer than 1518 octets (excluding framing bits,
             but including FCS octets), and had either a bad
             Frame Check Sequence (FCS) with an integral number
             of octets (FCS Error) or a bad FCS with a
             non-integral number of octets (Alignment Error).

             Note that this definition of jabber is different
             than the definition in IEEE-802.3 section 8.2.1.5
             (10BASE5) and section 10.3.1.4 (10BASE2).  These
             documents define jabber as the condition where any
             packet exceeds 20 ms.  The allowed range to detect
             jabber is between 20 ms and 150 ms."
         ::= { zxAnEthHisStatsEntry 11 }

     zxAnEthHisCollisions OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The best estimate of the total number of collisions
             on this Ethernet segment."
         ::= { zxAnEthHisStatsEntry 12 }

     zxAnEthHisInPkts64Octets OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets (including bad
             packets) received that were 64 octets in length
             (excluding framing bits but including FCS octets)."
         ::= { zxAnEthHisStatsEntry 13 }

     zxAnEthHisInPkts65to127Octets OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets (including bad
             packets) received that were between
             65 and 127 octets in length inclusive
             (excluding framing bits but including FCS octets)."
         ::= { zxAnEthHisStatsEntry 14 }

     zxAnEthHisInPkts128to255Octets OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets (including bad
             packets) received that were between
             128 and 255 octets in length inclusive
             (excluding framing bits but including FCS octets)."
         ::= { zxAnEthHisStatsEntry 15 }

     zxAnEthHisInPkts256to511Octets OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets (including bad
             packets) received that were between
             256 and 511 octets in length inclusive
             (excluding framing bits but including FCS octets)."
         ::= { zxAnEthHisStatsEntry 16 }

     zxAnEthHisInPkts512to1023Octets OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets (including bad
             packets) received that were between
             512 and 1023 octets in length inclusive
             (excluding framing bits but including FCS octets)."
         ::= { zxAnEthHisStatsEntry 17 }

     zxAnEthHisInPkts1024to1518Octets OBJECT-TYPE
         SYNTAX Counter64
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The total number of packets (including bad
             packets) received that were between
             1024 and 1518 octets in length inclusive
             (excluding framing bits but including FCS octets)."
         ::= { zxAnEthHisStatsEntry 18 }


--------------------------------------------------------------------------------
-- 13.ifXTable History Statistics Table
--------------------------------------------------------------------------------

     zxAnIfXHisTable        OBJECT-TYPE
         SYNTAX      SEQUENCE OF ZxAnIfXHisEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                 "A list of interface entries.  The number of entries is
                 given by the value of ifNumber.  This table contains
                 additional objects for the interface table."
         ::= { zxAnInterfaceObjects 16 }
     
     zxAnIfXHisEntry        OBJECT-TYPE
         SYNTAX      ZxAnIfXHisEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                 "An entry containing additional management information
                 applicable to a particular interface."
          INDEX { zxAnIfXHisIndex }
         ::= { zxAnIfXHisTable 1 }
     
     ZxAnIfXHisEntry ::=
         SEQUENCE {
             zxAnIfXHisIndex              ZxAnIfindex,
             zxAnIfXHisInOctets            Counter64,
             zxAnIfXHisInUcastPkts         Counter64,
             zxAnIfXHisInMulticastPkts     Counter64,
             zxAnIfXHisInBroadcastPkts     Counter64,
             zxAnIfXHisOutOctets           Counter64,
             zxAnIfXHisOutUcastPkts        Counter64,
             zxAnIfXHisOutMulticastPkts    Counter64,
             zxAnIfXHisOutBroadcastPkts    Counter64
         }
     
     zxAnIfXHisIndex OBJECT-TYPE
         SYNTAX ZxAnIfindex
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
              "The value of this object uniquely identifies this
                       etherHisStats entry."
                   ::= { zxAnIfXHisEntry 1 }
                   
     zxAnIfXHisInOctets OBJECT-TYPE
         SYNTAX      Counter64
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                 "The total number of octets received on the interface,
                 including framing characters.  This object is a 64-bit
                 version of ifInOctets.
     
                 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."
         ::= { zxAnIfXHisEntry 2}
     
     zxAnIfXHisInUcastPkts 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.  This object is a
                 64-bit version of ifInUcastPkts.
     
                 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."
         ::= { zxAnIfXHisEntry 3 }
     
     zxAnIfXHisInMulticastPkts 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.  This object
                 is a 64-bit version of ifInMulticastPkts.
     
                 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."
         ::= { zxAnIfXHisEntry 4 }
     
     zxAnIfXHisInBroadcastPkts 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.  This object is a 64-bit version
                 of ifInBroadcastPkts.
     
                 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."
         ::= { zxAnIfXHisEntry 5}
     
     zxAnIfXHisOutOctets OBJECT-TYPE
         SYNTAX      Counter64
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                 "The total number of octets transmitted out of the
                 interface, including framing characters.  This object is a
                 64-bit version of ifOutOctets.
     
                 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."
         ::= { zxAnIfXHisEntry 6}
     
     zxAnIfXHisOutUcastPkts 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.  This object is a
                 64-bit version of ifOutUcastPkts.
     
                 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."
         ::= { zxAnIfXHisEntry 7 }
     
     zxAnIfXHisOutMulticastPkts 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.  This object
                 is a 64-bit version of ifOutMulticastPkts.
     
                 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."
         ::= { zxAnIfXHisEntry 8 }
     
     zxAnIfXHisOutBroadcastPkts 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.  This object is a 64-bit version
                 of ifOutBroadcastPkts.
     
                 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."
         ::= { zxAnIfXHisEntry 9 }
                   
--------------------------------------------------------------------------------
-- 14.ifTable History Statistics Table 
--------------------------------------------------------------------------------
     
     zxAnIfHisTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF ZxAnIfHisEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                 "A list of interface entries.  The number of entries is
                 given by the value of ifNumber."
         ::= { zxAnInterfaceObjects 17 }
     
     zxAnIfHisEntry OBJECT-TYPE
         SYNTAX      ZxAnIfHisEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                 "An entry containing management information applicable to a
                 particular interface."
         INDEX   { zxAnIfHisIndex }
         ::= { zxAnIfHisTable 1 }
     
     ZxAnIfHisEntry ::=
         SEQUENCE {
             zxAnIfHisIndex                 ZxAnIfindex,
             zxAnIfHisInOctets              Counter64,
             zxAnIfHisInUcastPkts           Counter64,
             zxAnIfHisInNUcastPkts          Counter64,  
             zxAnIfHisInDiscards            Counter64,
             zxAnIfHisInErrors              Counter64,
             zxAnIfHisInUnknownProtos       Counter64,
             zxAnIfHisOutOctets             Counter64,
             zxAnIfHisOutUcastPkts          Counter64,
             zxAnIfHisOutNUcastPkts         Counter64,  
             zxAnIfHisOutDiscards           Counter64,
             zxAnIfHisOutErrors             Counter64,
             zxAnIfHisOutQueueLength        Counter64         
         }
     
     zxAnIfHisIndex OBJECT-TYPE
         SYNTAX      ZxAnIfindex
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                 "A unique value, greater than zero, for each interface.  It
                 is recommended that values are assigned contiguously
                 starting from 1.  The value for each interface sub-layer
                 must remain constant at least from one re-initialization of
                 the entity's network management system to the next re-
                 initialization."
         ::= { zxAnIfHisEntry 1 }
     
     zxAnIfHisInOctets 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."
         ::= { zxAnIfHisEntry 2 }
     
     zxAnIfHisInUcastPkts 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."
         ::= { zxAnIfHisEntry 3 }
     
     zxAnIfHisInNUcastPkts OBJECT-TYPE
         SYNTAX  Counter64
         MAX-ACCESS  read-only
         STATUS      deprecated
         DESCRIPTION
                 "The number of packets, delivered by this sub-layer to a
                 higher (sub-)layer, which were 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.
     
                 This object is deprecated in favour of ifInMulticastPkts and
                 ifInBroadcastPkts."
         ::= { zxAnIfHisEntry 4 }
     
     zxAnIfHisInDiscards OBJECT-TYPE
         SYNTAX      Counter64
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                 "The number of inbound packets which were chosen to be
                 discarded even though no errors had been detected to prevent
                 their being deliverable to a higher-layer protocol.  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."
         ::= { zxAnIfHisEntry 5 }
     
     zxAnIfHisInErrors OBJECT-TYPE
         SYNTAX      Counter64
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                 "For packet-oriented interfaces, the number of inbound
                 packets that contained errors preventing them from being
                 deliverable to a higher-layer protocol.  For character-
                 oriented or fixed-length interfaces, the number of inbound
                 transmission units that contained errors preventing them
                 from being deliverable to a higher-layer protocol.
     
                 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."
         ::= { zxAnIfHisEntry 6 }
     
     zxAnIfHisInUnknownProtos OBJECT-TYPE
         SYNTAX      Counter64
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                 "For packet-oriented interfaces, the number of packets
                 received via the interface which were discarded because of
                 an unknown or unsupported protocol.  For character-oriented
                 or fixed-length interfaces that support protocol
                 multiplexing the number of transmission units received via
                 the interface which were discarded because of an unknown or
                 unsupported protocol.  For any interface that does not
                 support protocol multiplexing, this counter will always be
                 0.
     
                 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."
         ::= { zxAnIfHisEntry 7 }
     
     zxAnIfHisOutOctets OBJECT-TYPE
         SYNTAX      Counter64
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                 "The total number of octets transmitted out of 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."
         ::= { zxAnIfHisEntry 8 }
     
     zxAnIfHisOutUcastPkts 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."
         ::= { zxAnIfHisEntry 10 }
     
     zxAnIfHisOutNUcastPkts OBJECT-TYPE
         SYNTAX      Counter64
         MAX-ACCESS  read-only
         STATUS      deprecated
         DESCRIPTION
                 "The total number of packets that higher-level protocols
                 requested be transmitted, and which were 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.
     
                 This object is deprecated in favour of ifOutMulticastPkts
                 and ifOutBroadcastPkts."
         ::= { zxAnIfHisEntry 11 }
     
     zxAnIfHisOutDiscards 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."
         ::= { zxAnIfHisEntry 12 }
     
     zxAnIfHisOutErrors OBJECT-TYPE
         SYNTAX      Counter64
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                 "For packet-oriented interfaces, the number of outbound
                 packets that could not be transmitted because of errors.
                 For character-oriented or fixed-length interfaces, the
                 number of outbound transmission units that could not be
                 transmitted because of errors.
     
                 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."
         ::= { zxAnIfHisEntry 13 }
     
     zxAnIfHisOutQueueLength OBJECT-TYPE
         SYNTAX      Counter64
         MAX-ACCESS  read-only
         STATUS      deprecated
         DESCRIPTION
                 "The length of the output packet queue (in packets)."
         ::= { zxAnIfHisEntry 14 }
     

-----------------------------------------------------------------------------------
-- 15.Ethernet Interface Statistics Table
----------------------------------------------------------------------------------- 

    zxAnIfVlanStatTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnIfVlanStatEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
          ""
        ::= { zxAnInterfaceObjects 18 }

    zxAnIfVlanStatEntry OBJECT-TYPE
        SYNTAX  ZxAnIfVlanStatEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
          "a entry of this table."
        INDEX   { zxAnIfVlanStatIfIndex, zxAnIfVlanId}
        ::= { zxAnIfVlanStatTable 1 }

    ZxAnIfVlanStatEntry ::= SEQUENCE 
        {
           zxAnIfVlanStatIfIndex                    ZxAnIfindex,
           zxAnIfVlanId                             VlanId,
           zxAnIfVlanStatEnable                     INTEGER,
           zxAnIfVlanOutBroadcastPkts               Counter64,
           zxAnIfVlanOutUnicastPkts                 Counter64,
           zxAnIfVlanOutMulticastPkts               Counter64,
           zxAnIfVlanOutDiscardBCastPkts            Counter64,
           zxAnIfVlanOutDiscardUCastPkts            Counter64,
           zxAnIfVlanOutDiscardMCastPkts            Counter64,
           zxAnIfVlanInBroadcastPkts                Counter64,
           zxAnIfVlanInUnicastPkts                  Counter64,
           zxAnIfVlanInMulticastPkts                Counter64,
           zxAnIfVlanInDiscardBCastPkts             Counter64,
           zxAnIfVlanInDiscardUCastPkts             Counter64,
           zxAnIfVlanInDiscardMCastPkts             Counter64,
           zxAnIfVlanOutPkts                        Counter64,
           zxAnIfVlanInPkts                         Counter64,
           zxAnIfVlanOutOctets                      Counter64,
           zxAnIfVlanInOctets                       Counter64,
           zxAnIfVlanDiscardPkts                    Counter64,
           zxAnIfVlanOutBandwidthDisRatio           Integer32,
           zxAnIfVlanInBandwidthDisRatio            Integer32,
           zxAnIfVlanOutWredDisRatio                Integer32,
           zxAnIfVlanOutBandwidthDisPkts            Counter64,
           zxAnIfVlanInBandwidthDisPkts             Counter64,
           zxAnIfVlanOutWredDisPkts                 Counter64,
           zxAnIfVlanOutBitRate                     Gauge32,
           zxAnIfVlanInBitRate                      Gauge32,           
           zxAnIfVlanOutErroredOctets               Counter64,
           zxAnIfVlanInErroredOctets                Counter64,
           zxAnIfVlanStatRowStatus                  RowStatus 
        }

    zxAnIfVlanStatIfIndex OBJECT-TYPE
        SYNTAX     ZxAnIfindex 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "The index of this Ethernet vlan stat table"
        ::= { zxAnIfVlanStatEntry 1 }   
      
    zxAnIfVlanId    OBJECT-TYPE 
        SYNTAX          VlanId
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
           "The vlan id"
        ::= { zxAnIfVlanStatEntry 2 }             
   
    zxAnIfVlanStatEnable OBJECT-TYPE
       SYNTAX          INTEGER 
       {
            enable(1),  
            disable(2)
       }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable the ethernet vlan Statisic."
       ::= { zxAnIfVlanStatEntry 3 }
       
    zxAnIfVlanInBroadcastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Received Broadcast Packets"
        ::= { zxAnIfVlanStatEntry 4 } 
    
    zxAnIfVlanInUnicastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Received Unicast Packets"
        ::= { zxAnIfVlanStatEntry 5 }  
    
    zxAnIfVlanInMulticastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Received Multicast Packets"
        ::= { zxAnIfVlanStatEntry 6 }     
    
    zxAnIfVlanInDiscardBCastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Received Broadcast Packets"
        ::= { zxAnIfVlanStatEntry 7 } 
    
    zxAnIfVlanInDiscardUCastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Received Discarded Unicast Packets"
        ::= { zxAnIfVlanStatEntry 8 }   
    
    zxAnIfVlanInDiscardMCastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Received Discarded Multicast Packets"
        ::= { zxAnIfVlanStatEntry 9 }    
             
    zxAnIfVlanOutBroadcastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Transmitted Broadcast Packets"
        ::= { zxAnIfVlanStatEntry 10 }

    zxAnIfVlanOutUnicastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Transmitted Unicast Packets"
        ::= { zxAnIfVlanStatEntry 11 }
    
    zxAnIfVlanOutMulticastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Transmitted Multicast Packets"
        ::= { zxAnIfVlanStatEntry 12 }    
   
    zxAnIfVlanOutDiscardBCastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Transmitted Discarded Broadcast Packets"
        ::= { zxAnIfVlanStatEntry 13 }
    
    zxAnIfVlanOutDiscardUCastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Transmitted Discarded Unicast Packets"
       ::= { zxAnIfVlanStatEntry 14 }
    
    zxAnIfVlanOutDiscardMCastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "Transmitted Discarded Multicast Packets"
        ::= { zxAnIfVlanStatEntry 15 }

    zxAnIfVlanOutPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The total number of packets transmitted out of the
           interface."
        ::= { zxAnIfVlanStatEntry 16 }
        
    zxAnIfVlanInPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The total number of packets received on the interface."
        ::= { zxAnIfVlanStatEntry 17 }         
            
    zxAnIfVlanOutOctets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The total number of octets transmitted out of the interface."
        ::= { zxAnIfVlanStatEntry 18 }
        
    zxAnIfVlanInOctets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The total number of octets received on the interface."
        ::= { zxAnIfVlanStatEntry 19 }
        
    zxAnIfVlanDiscardPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The total number of discarded packets."
        ::= { zxAnIfVlanStatEntry 20 }
         
    zxAnIfVlanOutBandwidthDisRatio OBJECT-TYPE
        SYNTAX      Integer32        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the ratio of transmitted packets discarded
             by this traffic processor due to subscriber bandwidth limitations.
        
             Discontinuities in the value of this counter can occur at
             re-initialization of the management system." 
        ::= { zxAnIfVlanStatEntry 21 }
        
    zxAnIfVlanInBandwidthDisRatio OBJECT-TYPE
        SYNTAX      Integer32        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the ratio of received packets discarded
             by this traffic processor due to subscriber bandwidth limitations.
        
             Discontinuities in the value of this counter can occur at
             re-initialization of the management system." 
        ::= { zxAnIfVlanStatEntry 22 }
        
    zxAnIfVlanOutWredDisRatio OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the ratio of transmitted packets discarded
             by this traffic processor due to congestion in the queues.
        
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system."
        ::= { zxAnIfVlanStatEntry 23 }
 
    zxAnIfVlanOutBandwidthDisPkts OBJECT-TYPE
        SYNTAX      Counter64        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of transmitted packets discarded
             by this traffic processor due to subscriber bandwidth limitations.
        
             Discontinuities in the value of this counter can occur at
             re-initialization of the management system." 
        ::= { zxAnIfVlanStatEntry 24 }
        
    zxAnIfVlanInBandwidthDisPkts OBJECT-TYPE
        SYNTAX      Counter64        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of received packets discarded
             by this traffic processor due to subscriber bandwidth limitations.
        
             Discontinuities in the value of this counter can occur at
             re-initialization of the management system." 
        ::= { zxAnIfVlanStatEntry 25 }
        
    zxAnIfVlanOutWredDisPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of transmitted packets discarded
             by this traffic processor due to congestion in the queues.
        
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system."
        ::= { zxAnIfVlanStatEntry 26 }
        
    zxAnIfVlanOutBitRate OBJECT-TYPE
        SYNTAX      Gauge32
        UNITS       "kbps"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The transmitted bit rate of the interface."
        ::= { zxAnIfVlanStatEntry 27 }
        
    zxAnIfVlanInBitRate OBJECT-TYPE
        SYNTAX      Gauge32
        UNITS       "kbps"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The received bit rate of the interface."
        ::= { zxAnIfVlanStatEntry 28 }
 
    zxAnIfVlanOutErroredOctets  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of errored octets transmitted out of the
            VLAN, including framing characters.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system."
        ::= { zxAnIfVlanStatEntry 29 }
    
    zxAnIfVlanInErroredOctets  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of errored octets received on the VLAN,
            including framing characters.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system."
        ::= { zxAnIfVlanStatEntry 30 }
                                     
    zxAnIfVlanStatRowStatus    OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
            "The row status of this entry."
        ::= {zxAnIfVlanStatEntry 50 }  
--------------------------------------------------------------------------------
-- 16.Interface Test
--------------------------------------------------------------------------------
    zxAnIfTest OBJECT IDENTIFIER  ::=  { zxAnInterfaceObjects 50 }

--------------------------------------------------------------------------------
--   16.1 Interface PPPoE Test
--------------------------------------------------------------------------------
    zxAnIfPppoeTest OBJECT IDENTIFIER  ::=  { zxAnIfTest 1 }

    zxAnIfPppoeTestTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnIfPppoeTestEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The table listing PPPoE test entries. An entry indicates a test."
        REFERENCE
            "Used by MAP"
        ::= { zxAnIfPppoeTest 1 }

    zxAnIfPppoeTestEntry OBJECT-TYPE
        SYNTAX      ZxAnIfPppoeTestEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry in the zxAnIfPppoeTestTable."
        INDEX       { zxAnIfPppoeTestRack,
                      zxAnIfPppoeTestShelf,
                      zxAnIfPppoeTestSlot,
                      zxAnIfPppoeTestPort,
                      zxAnIfPppoeTestOnu,
                      zxAnIfPppoeTestCircuitType,
                      zxAnIfPppoeTestLogicalId }
        ::= { zxAnIfPppoeTestTable 1 }

    ZxAnIfPppoeTestEntry ::= SEQUENCE {
        zxAnIfPppoeTestRack         Integer32,
        zxAnIfPppoeTestShelf        Integer32,
        zxAnIfPppoeTestSlot         Integer32,
        zxAnIfPppoeTestPort         Integer32,
        zxAnIfPppoeTestOnu          Integer32,
        zxAnIfPppoeTestCircuitType  INTEGER,
        zxAnIfPppoeTestLogicalId    OBJECT IDENTIFIER,
        zxAnIfPppoeTestVlanId       INTEGER,
        zxAnIfPppoeTestStatus       INTEGER,
        zxAnIfPppoeTestFailReason   INTEGER,
        zxAnIfPppoeTestUserName     DisplayString,
        zxAnIfPppoeTestPassword     DisplayString,
        zxAnIfPppoeTestAuthMode     INTEGER,
        zxAnIfPppoeTestAction       INTEGER,
        zxAnIfPppoeTestClientIpType InetAddressType,
        zxAnIfPppoeTestClientIpAddr InetAddress,
        zxAnIfPppoeTestBasIpType    InetAddressType,
        zxAnIfPppoeTestBasIpAddr    InetAddress,
        zxAnIfPppoeTestBasMac       MacAddress,
        zxAnIfPppoeTestBasDelay     Integer32,
        zxAnIfPppoeTestTimeout      Integer32,
        zxAnIfPppoeTestRowStatus    RowStatus
    }

    zxAnIfPppoeTestRack  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object indicates the rack number."
        ::= { zxAnIfPppoeTestEntry 1 }

    zxAnIfPppoeTestShelf  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object indicates the shelf number."
        ::= { zxAnIfPppoeTestEntry 2 }

    zxAnIfPppoeTestSlot  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object indicates the slot number."
        ::= { zxAnIfPppoeTestEntry 3 }

    zxAnIfPppoeTestPort  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object indicates the physical port number."
        ::= { zxAnIfPppoeTestEntry 4 }

    zxAnIfPppoeTestOnu  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "When zxAnIfPppoeTestCircuitType are 'onu' or 'gemportOrLlid' or
            'servicePort', this object indicates 'onu ID'.
            When zxAnIfPppoeTestCircuitType are 'physicalPort' or 'bridgePort',
            its value is '0'."
        ::= { zxAnIfPppoeTestEntry 5 }

    zxAnIfPppoeTestCircuitType  OBJECT-TYPE
        SYNTAX      INTEGER {    
                        physicalPort(1),
                        bridgePort(2),
                        onu(3),
                        gemportOrLlid(4),
                        onuUni(5),
                        servicePort(11)
                    }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object indicates the type of port."
        ::= { zxAnIfPppoeTestEntry 6 }

    zxAnIfPppoeTestLogicalId OBJECT-TYPE
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This value is an oid which indicats the logical index.

            When zxAnIfPppoeTestCircuitType is 'physicalPort', its value is '0'.
            When zxAnIfPppoeTestCircuitType is 'bridgePort', this object
            includes {pvc}, such as oid {1} indicates pvc1.
            When zxAnIfPppoeTestCircuitType is 'onu', its value is '0'.
            When zxAnIfPppoeTestCircuitType is 'gemportOrLlid', this object
            includes {gemport/llid}, such as oid {1} indicates gemport1/llid1.
            When zxAnIfPppoeTestCircuitType is 'onuUni', this object
            includes {ONU slot and UNIID}, this type is used for SFU only.
            When the slotNo is not cared about, the slotNo should be 0, 
            such as oid{0.1}, which indicates slotNo0 and UNIID1.
            When zxAnIfPppoeTestCircuitType is 'servicePort', this object
            includes {serviceportID}, such as oid {1} indicates serviceportID1."
        ::= { zxAnIfPppoeTestEntry 7 }

    zxAnIfPppoeTestVlanId OBJECT-TYPE
        SYNTAX      INTEGER (0..4094)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The VLAN of interface which will be used in testing datagram.

            0 means that test will use the PVID of interface.
            Non-zero value must be within the tagged VLAN list of interface. If
            can not find the VLAN in the tagged VLAN list of interface, test
            fail."
        DEFVAL { 0 }
        ::= { zxAnIfPppoeTestEntry 8 }

    zxAnIfPppoeTestStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        notStarted(1),
                        inProgress(2),
                        success(3),
                        failed(4)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The status of test. Agent need keep this parameter updated so that
            manager can get the latest status of test by polling.

            notStarted(1) - test is not started
            inProgress(2) - test is in progress
            success(3) - test is completed successfully
            failed(4) - test failed
            "
        ::= { zxAnIfPppoeTestEntry 9 }

    zxAnIfPppoeTestFailReason OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1),
                        unknownError(2),
                        hardwareNotSupport(3),
                        vlanNotExist(4),
                        padiTimeOut(5),
                        padrTimeOut(6),
                        lcpNegotiationFail(7),
                        userAuthFail(8),
                        ipNegotiationFail(9),
                        pppoeTestTimeout(10)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The failed reason of test.

            none(1)               - no error
            unknownError(2)       - unknown error
            hardwareNotSupport(3) - Hardware does not support the test.
            notFindVlan(4)        - Specified VLAN is not existed.
            padiTimeOut(5)        - PADI request timed out.
            padrTimeOut(6)        - PADR request timed out.
            lcpNegotiationFail(7) - LCP negotiation failed.
            userAuthFail(8)       - User name or password is invalid.
            ipNegotiationFail(9)  - IP negotiation failed.
            pppoeTestTimeout(10)  - PPPoE test timed out.
            "
        ::= { zxAnIfPppoeTestEntry 10 }

    zxAnIfPppoeTestUserName  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..64))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The user name."
        ::= { zxAnIfPppoeTestEntry 11 }

    zxAnIfPppoeTestPassword  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..32))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The password."
        ::= { zxAnIfPppoeTestEntry 12 }

    zxAnIfPppoeTestAuthMode  OBJECT-TYPE
        SYNTAX      INTEGER {
                        auto(1),
                        chap(2),
                        pap(3)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The protocol that is used to anthenticate user."
        DEFVAL { auto }
        ::= { zxAnIfPppoeTestEntry 13 }

    zxAnIfPppoeTestAction OBJECT-TYPE
        SYNTAX      INTEGER {
                        start(1),
                        stop(2)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The object is used to start or stop test. The object could be
            specified when creating an entry, also could be specified alone in a
            SET operation.

            start(1) - Start the test.
            stop(2)  - Stop the test.
            "
        DEFVAL { stop }
        ::= { zxAnIfPppoeTestEntry 14 }
        
    zxAnIfPppoeTestClientIpType  OBJECT-TYPE 
        SYNTAX       InetAddressType
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION 
            "Client IP address type." 
        ::= { zxAnIfPppoeTestEntry 15 }
        
    zxAnIfPppoeTestClientIpAddr  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The IP address that is distributed by BAS when PPPoE test is
             completed successfully.
            "
        ::= { zxAnIfPppoeTestEntry 16 }

    zxAnIfPppoeTestBasIpType  OBJECT-TYPE 
        SYNTAX       InetAddressType
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION 
            "The BAS IP address type." 
        ::= { zxAnIfPppoeTestEntry 17 }

    zxAnIfPppoeTestBasIpAddr  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The BAS IP address."
        ::= { zxAnIfPppoeTestEntry 18 }

    zxAnIfPppoeTestBasMac  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The BAS MAC address."
        ::= { zxAnIfPppoeTestEntry 19 }

    zxAnIfPppoeTestBasDelay OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "ms"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The BAS delay.
             Value 0 means that the device disconnects to BAS."
        ::= { zxAnIfPppoeTestEntry 20 }
        
    zxAnIfPppoeTestTimeout  OBJECT-TYPE
        SYNTAX      Integer32(0|5..60)
        UNITS       "seconds"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The PPPoE test timed out.
             Value 0 means no timeout."
        DEFVAL      { 30 }
        ::= { zxAnIfPppoeTestEntry 21 }

    zxAnIfPppoeTestRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object is used to create a new row or delete an existing row
            in this table. Only 'createAndGo' and 'destroy' need to be
            supported. If test is in progress, agent should reject the 'destroy'
            request from manager.

            'createAndGo' means creating an entry.
            'destroy' means deleting an entry."
        ::= { zxAnIfPppoeTestEntry 50 }

--------------------------------------------------------------------------------
--   16.2 Interface DHCP Test
--------------------------------------------------------------------------------
    
    zxAnIfDhcpTest OBJECT IDENTIFIER  ::=  { zxAnIfTest 2 }

    zxAnIfDhcpTestTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnIfDhcpTestEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The table listing DHCP test entries. An entry indicates a test."
        REFERENCE
            "Used by MAP"
        ::= { zxAnIfDhcpTest 2 }

    zxAnIfDhcpTestEntry OBJECT-TYPE
        SYNTAX      ZxAnIfDhcpTestEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry in the zxAnIfDhcpTestTable."
        INDEX       { zxAnIfDhcpTestRack,
                      zxAnIfDhcpTestShelf,
                      zxAnIfDhcpTestSlot,
                      zxAnIfDhcpTestPort,
                      zxAnIfDhcpTestOnu,
                      zxAnIfDhcpTestIfType,
                      zxAnIfDhcpTestLogicalId }
        ::= { zxAnIfDhcpTestTable 1 }
        
    ZxAnIfDhcpTestEntry ::= SEQUENCE {
        zxAnIfDhcpTestRack               Integer32,
        zxAnIfDhcpTestShelf              Integer32,
        zxAnIfDhcpTestSlot               Integer32,
        zxAnIfDhcpTestPort               Integer32,
        zxAnIfDhcpTestOnu                Integer32,
        zxAnIfDhcpTestIfType             INTEGER,
        zxAnIfDhcpTestLogicalId          OBJECT IDENTIFIER,
        zxAnIfDhcpTestVlanId             INTEGER,
        zxAnIfDhcpTestStatus             INTEGER,
        zxAnIfDhcpTestFailReason         INTEGER,
        zxAnIfDhcpTestAction             INTEGER,
        zxAnIfDhcpTestClientIpType       InetAddressType,
        zxAnIfDhcpTestClientIpAddr       InetAddress,
        zxAnIfDhcpTestBasIpType          InetAddressType,
        zxAnIfDhcpTestBasIpAddr          InetAddress,
        zxAnIfDhcpTestBasMac             MacAddress,
        zxAnIfDhcpTestBasDelay           Integer32,       
        zxAnIfDhcpTestTimeout            Integer32,      
        zxAnIfDhcpTestClientMac          MacAddress,
        zxAnIfDhcpTestAuthMode           INTEGER,
        zxAnIfDhcpTestUserName           DisplayString,
        zxAnIfDhcpTestPassword           DisplayString,
        zxAnIfDhcpTestOption60String     DisplayString,        
        zxAnIfDhcpTestGatewayIpType      InetAddressType,
        zxAnIfDhcpTestGatewayIpAddr      InetAddress,
        zxAnIfDhcpTestPingMaxDelay       Integer32,
        zxAnIfDhcpTestPingMinDelay       Integer32,
        zxAnIfDhcpTestPingAverageDelay   Integer32,
        zxAnIfDhcpTestPingSuccessTimes   Integer32,
        zxAnIfDhcpTestRowStatus          RowStatus
    }

    zxAnIfDhcpTestRack  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Rack No. of the interface."
        ::= { zxAnIfDhcpTestEntry 1 }

    zxAnIfDhcpTestShelf  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Shelf No. of the interface."
        ::= { zxAnIfDhcpTestEntry 2 }

    zxAnIfDhcpTestSlot  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Slot No. of the interface."
        ::= { zxAnIfDhcpTestEntry 3 }

    zxAnIfDhcpTestPort  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Physical port No. of the interface."
        ::= { zxAnIfDhcpTestEntry 4 }

    zxAnIfDhcpTestOnu  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "ONU No. of the interface.
             It is valid only if zxAnIfDhcpTestIfType is 'ponOnu' or 
             'portVPort' or 'onuUni' or 'servicePort', otherwise, its value 
             is 0."
        ::= { zxAnIfDhcpTestEntry 5 }

    zxAnIfDhcpTestIfType  OBJECT-TYPE
        SYNTAX      INTEGER {    
                        physicalPort(1),
                        bridgePort(2),
                        onu(3),
                        gemportOrLlid(4),
                        onuUni(5),
                        servicePort(11)
                    }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Type of the interface."
        ::= { zxAnIfDhcpTestEntry 6 }

    zxAnIfDhcpTestLogicalId OBJECT-TYPE
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Logic index of the interface.
            
            If zxAnIfDhcpTestIfType is 'physicalPort', its value is 0.
            
            If zxAnIfDhcpTestIfType is 'bridgePort', this object
            indicates 'pvc', such as oid '1' indicates 'PVC1'.
            
            If zxAnIfDhcpTestIfType is 'ponOnu', its value is 0.
            
            If zxAnIfDhcpTestIfType is 'ponVPort', this object
            indicates 'ponVPort', such as oid '1' indicates 'PortVPort1'.
            
            If zxAnIfDhcpTestIfType is 'onuUni', this object
            indicates 'onuSlot.uniId', this type is used for SFUs only.
            If the ONU slot is not cared about, the onuSlot is 0,
            such as oid '0.1' indicates 'ONUSlot0.UNIID1'.
            
            If zxAnIfDhcpTestIfType is 'servicePort', this object
            indicates 'servicePort', such as oid '1' indicates 'ServicePort1'."
        ::= { zxAnIfDhcpTestEntry 7 }

    zxAnIfDhcpTestVlanId OBJECT-TYPE
        SYNTAX      INTEGER (0..4094)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The VLAN of interface which will be used in testing datagram.

            0 means that test will use the PVID of interface.
            Non-zero value must be within the tagged VLAN list of interface. If
            can not find the VLAN in the tagged VLAN list of interface, test
            fail."
        DEFVAL { 0 }
        ::= { zxAnIfDhcpTestEntry 8 }

    zxAnIfDhcpTestStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        notStarted(1),
                        inProgress(2),
                        success(3),
                        failed(4)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The status of test. Agent need keep this parameter updated so that
            manager can get the latest status of test by polling.

            notStarted(1) - test is not started
            inProgress(2) - test is in progress
            success(3) - test is completed successfully
            failed(4) - test failed
            "
        ::= { zxAnIfDhcpTestEntry 9 }

    zxAnIfDhcpTestFailReason OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1),
                        unknownError(2),
                        hardwareNotSupport(3),
                        vlanNotExist(4),
                        dhcpDiscoverTimeOut(5),
                        dhcpRequestTimeOut(6),
                        refusedByDhcpServer(7),
                        dhcpAuthFailed(8),
                        dhcpTestTimeOut(9)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The failed reason of test.

            none(1)                - no error
            unknownError(2)        - unknown error
            hardwareNotSupport(3)  - Hardware does not support the test.
            notFindVlan(4)         - Specified VLAN is not existed.
            dhcpDiscoverTimeOut(5) - DHCP discover timed out.
            dhcpRequestTimeOut(6)  - DHCP request timed out.
            refusedByDhcpServer(7) - DHCP request refused by server.
            dhcpAuthFailed(8)      - DHCP authentication failed.
            dhcpTestTimeOut(9)     - DHCP test timed out.
            "
        ::= { zxAnIfDhcpTestEntry 10 }

    zxAnIfDhcpTestAction OBJECT-TYPE
        SYNTAX      INTEGER {
                        start(1),
                        stop(2)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The object is used to start or stop test. The object could be
            specified when creating an entry, also could be specified alone in a
            SET operation.

            start(1) - Start the test.
            stop(2)  - Stop the test.
            "
        DEFVAL { stop }
        ::= { zxAnIfDhcpTestEntry 11 }
        
    zxAnIfDhcpTestClientIpType  OBJECT-TYPE 
        SYNTAX       InetAddressType
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION 
            "Client IP address type." 
        ::= { zxAnIfDhcpTestEntry 12 }
        
    zxAnIfDhcpTestClientIpAddr  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The IP address that is distributed by BAS when Dhcp test is
             completed successfully.
            "
        ::= { zxAnIfDhcpTestEntry 13 }

    zxAnIfDhcpTestBasIpType  OBJECT-TYPE 
        SYNTAX       InetAddressType
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION 
            "The BAS IP address type." 
        ::= { zxAnIfDhcpTestEntry 14 }

    zxAnIfDhcpTestBasIpAddr  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The BAS IP address."
        ::= { zxAnIfDhcpTestEntry 15 }

    zxAnIfDhcpTestBasMac  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The BAS MAC address."
        ::= { zxAnIfDhcpTestEntry 16 }

    zxAnIfDhcpTestBasDelay OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "ms"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The BAS delay.
             Value 0 means that the device disconnects to BAS."
        ::= { zxAnIfDhcpTestEntry 17 }
        
   zxAnIfDhcpTestTimeout  OBJECT-TYPE
        SYNTAX      Integer32(0|5..60)
        UNITS       "seconds"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The DHCP test timed out.
             Value 0 means no timeout."
        DEFVAL      { 30 }
        ::= { zxAnIfDhcpTestEntry 18 }

   zxAnIfDhcpTestClientMac  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The DHCP test client MAC address."
        ::= { zxAnIfDhcpTestEntry 19 }

    zxAnIfDhcpTestAuthMode OBJECT-TYPE
        SYNTAX      INTEGER 
        {
            noAuth(1),
            option60String(2),
            usernameAndPassword(3)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "DHCP test authentication mode.
             noAuth(1)              - DHCP test without authentication.
             option60String(2)      - authenticate with 
                                      zxAnIfDhcpTestOption60String.
             usernameAndPassword(3) - authenticate with zxAnIfDhcpTestUserName 
                                      and zxAnIfDhcpTestPassword.
            "
        DEFVAL      { option60String }        
        ::= { zxAnIfDhcpTestEntry 20 }
    
    zxAnIfDhcpTestOption60String  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..128))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The option60 for DHCP test.
             This object is valid when zxAnIfDhcpTestAuthMode is 
             option60String(1).
            "
        ::= { zxAnIfDhcpTestEntry 21 }
    
    zxAnIfDhcpTestUserName  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..64))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The user name. 
             This object is valid when zxAnIfDhcpTestAuthMode is 
             usernameAndPassword(2).
            "
        ::= { zxAnIfDhcpTestEntry 22 }

    zxAnIfDhcpTestPassword  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..16))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The password.
             This object is valid when zxAnIfDhcpTestAuthMode is 
             usernameAndPassword(2).
            "
        ::= { zxAnIfDhcpTestEntry 23 }    

    zxAnIfDhcpTestGatewayIpType  OBJECT-TYPE 
        SYNTAX       InetAddressType
        MAX-ACCESS   read-only
        STATUS       current 
        DESCRIPTION 
            "The gateway IP address type." 
        ::= { zxAnIfDhcpTestEntry 24 }

    zxAnIfDhcpTestGatewayIpAddr  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The gateway IP address."
        ::= { zxAnIfDhcpTestEntry 25 }

    zxAnIfDhcpTestPingMaxDelay OBJECT-TYPE        
        SYNTAX      Integer32 
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The maximum delay for DHCP test ping gateway."
        ::= { zxAnIfDhcpTestEntry 26 }

    zxAnIfDhcpTestPingMinDelay OBJECT-TYPE        
        SYNTAX      Integer32 
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The minimum delay for DHCP test ping gateway."
        ::= { zxAnIfDhcpTestEntry 27 }

    zxAnIfDhcpTestPingAverageDelay OBJECT-TYPE        
        SYNTAX      Integer32 
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The average delay for DHCP test ping gateway ."
        ::= { zxAnIfDhcpTestEntry 28 }

    zxAnIfDhcpTestPingSuccessTimes OBJECT-TYPE
        SYNTAX      Integer32 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The successful times for DHCP test ping gateway."
        ::= { zxAnIfDhcpTestEntry 29 }

    zxAnIfDhcpTestRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The status of this conceptual row.

             To create a row in this table, a manager must
             set this object to createAndGo(4).
          
             In particular, a newly created row cannot be created
             until the corresponding zxAnIfDhcpTestVlanId 
             have been set.
             
             To delete a row in this table, a manager must
             set this object to destroy(6)."
        ::= { zxAnIfDhcpTestEntry 50 }

------------------------------------------------------------------------------
-- 17.Interface Packet Rate Limit Table
------------------------------------------------------------------------------ 
     zxAnIfPktRateLimitTable OBJECT-TYPE
         SYNTAX     SEQUENCE OF ZxAnIfPktRateLimitEntry
         MAX-ACCESS not-accessible
         STATUS     deprecated
         DESCRIPTION
          "Interface packet rate limit information table."
         ::= { zxAnInterfaceObjects 19 }
         
     zxAnIfPktRateLimitEntry OBJECT-TYPE
         SYNTAX     ZxAnIfPktRateLimitEntry
         MAX-ACCESS not-accessible
         STATUS     deprecated
         DESCRIPTION
           "A entry of this table."
         INDEX   { zxAnIfPktRateLimitIfIndex }
         ::= { zxAnIfPktRateLimitTable 1 }
         
     ZxAnIfPktRateLimitEntry ::= SEQUENCE 
         {
            zxAnIfPktRateLimitIfIndex               ZxAnIfindex,         
            zxAnIfBroadcastPktRateLimit             Integer32,
            zxAnIfFloodingPktRateLimit              Integer32,
            zxAnIfPktRateLimitRowStatus             RowStatus
         }
         
     zxAnIfPktRateLimitIfIndex OBJECT-TYPE
         SYNTAX     ZxAnIfindex 
         MAX-ACCESS not-accessible
         STATUS     deprecated
         DESCRIPTION
            "The index of this packet rate limit ifIndex."
         ::= { zxAnIfPktRateLimitEntry 1 }   
       
     zxAnIfBroadcastPktRateLimit  OBJECT-TYPE 
        SYNTAX      Integer32(0..65535) 
        UNITS       "pps" 
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION 
            "Maximum broadcast packet rate.
             If it is 65535, then no limit."
        DEFVAL { 100 }                
        ::=  {  zxAnIfPktRateLimitEntry  2  }  
                          
    zxAnIfFloodingPktRateLimit OBJECT-TYPE 
        SYNTAX      Integer32(0..65535) 
        UNITS       "pps"  
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION 
            "Maximum flooding packet rate.
             If it is 65535,then no limit."
        DEFVAL { 100 }                
        ::=  {  zxAnIfPktRateLimitEntry  3  }
    
    zxAnIfPktRateLimitRowStatus    OBJECT-TYPE 
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION
            "The row status of this entry."
        ::= {zxAnIfPktRateLimitEntry 30 }   
        
-----------------------------------------------------------------------------------
-- 18.Interface VLAN Rate Limit Table
----------------------------------------------------------------------------------- 
     zxAnIfVlanRateLimitTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF ZxAnIfVlanRateLimitEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
          "Interface VLAN rate limit information table."
         ::= { zxAnInterfaceObjects 20 }
         
     zxAnIfVlanRateLimitEntry OBJECT-TYPE
         SYNTAX  ZxAnIfVlanRateLimitEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
           "A entry of this table."
         INDEX   { zxAnIfVlanRateLimitIfIndex, zxAnIfVlanRateLimitVlanId,
                   zxAnIfVlanRateLimitDirection}
         ::= { zxAnIfVlanRateLimitTable 1 }
         
     ZxAnIfVlanRateLimitEntry ::= SEQUENCE 
         {
            zxAnIfVlanRateLimitIfIndex               ZxAnIfindex,
            zxAnIfVlanRateLimitVlanId                VlanId,
            zxAnIfVlanRateLimitDirection             INTEGER,
            zxAnIfVlanRateLimitCir                   INTEGER,
            zxAnIfVlanRateLimitPir                   INTEGER,
            zxAnIfVlanRateLimitRowStatus             RowStatus
         }
         
     zxAnIfVlanRateLimitIfIndex OBJECT-TYPE
         SYNTAX     ZxAnIfindex 
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
            "The index of this interface VLAN rate limit table."
         ::= { zxAnIfVlanRateLimitEntry 1 }   
       
     zxAnIfVlanRateLimitVlanId    OBJECT-TYPE 
         SYNTAX          VlanId
         MAX-ACCESS      not-accessible
         STATUS          current
         DESCRIPTION     
            "The VLAN ID."
         ::= { zxAnIfVlanRateLimitEntry 2 }             
   
     zxAnIfVlanRateLimitDirection OBJECT-TYPE
        SYNTAX          INTEGER 
        {
             ingress(1),
             egress(2)
        }
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The VLAN rate limit direction."
        ::= { zxAnIfVlanRateLimitEntry 3 }
        
     zxAnIfVlanRateLimitCir OBJECT-TYPE
         SYNTAX      INTEGER(0..10000000)
         UNITS       "kbps"
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
            "The committed information rate."         
         ::= { zxAnIfVlanRateLimitEntry 4 } 
    
     zxAnIfVlanRateLimitPir OBJECT-TYPE
         SYNTAX      INTEGER(0..10000000)
         UNITS       "kbps"
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
            "The peak information rate."      
         ::= { zxAnIfVlanRateLimitEntry 5 } 
    
     zxAnIfVlanRateLimitRowStatus    OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
            "The row status of this entry."
        ::= {zxAnIfVlanRateLimitEntry 30 }          

-------------------------------------------------------------------------------
-- 19.Protocol Rate Limit Table
------------------------------------------------------------------------------- 

    zxAnProtocolRateLimitMgmt OBJECT IDENTIFIER ::= {zxAnInterfaceObjects  21}
    
    ProtoRateLimitType ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION     "Protocol Type."
        SYNTAX      INTEGER
        {
            arp(1),
            dhcpv4(2),
            dhcpv6(3),
            igmp(4),
            pppoe(5),
            cfm(6),
            nd(7),
            mld(8),
            broadcastAndFlood(9),
            icmp(10) 
        }
        
    RateLimitScale ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION     "Protocol Rate Limiting Scale."
        SYNTAX      INTEGER
        {
            vportGlobal(1),
            vlan(2),
            vport(3),
            vportAndVlan(4)
        }

    zxAnProtoRateLimitGlobalTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF ZxAnProtoRateLimitGlobalEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
           "The global protocol rate limiting table.
            This table specifies protocol rate limiting configuration, 
            which is used to reduce the maximum traffic rate for 
            each protocol such as DHCP, IGMP, ICMP and so on.
            This table supports get-next from first-class index. "
         ::= { zxAnProtocolRateLimitMgmt 1 }
  
    zxAnProtoRateLimitGlobalEntry  OBJECT-TYPE
        SYNTAX      ZxAnProtoRateLimitGlobalEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "The protocol rate limiting entry."
        INDEX   {zxAnProtoRateLimitGlbIfType, zxAnProtoRateLimitGlbProtoType}
        ::=  { zxAnProtoRateLimitGlobalTable 1 }

    ZxAnProtoRateLimitGlobalEntry  ::=  
        SEQUENCE {
            zxAnProtoRateLimitGlbIfType             INTEGER,
            zxAnProtoRateLimitGlbProtoType          ProtoRateLimitType,
            
            zxAnProtoRateLimitGlbIngress            Integer32,
            zxAnProtoRateLimitGlbEgress             Integer32
        }
        
    zxAnProtoRateLimitGlbIfType  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            vport(1)
        }
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Supported interface type."
        ::= { zxAnProtoRateLimitGlobalEntry 1 }

    zxAnProtoRateLimitGlbProtoType  OBJECT-TYPE
        SYNTAX          ProtoRateLimitType
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Supported protocol type."
        ::= { zxAnProtoRateLimitGlobalEntry 2 }   

     zxAnProtoRateLimitGlbIngress OBJECT-TYPE
         SYNTAX      Integer32(0..10000)
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
            "The packet rate limit egress value.
            0xFFFF means unconfigured."      
         ::= { zxAnProtoRateLimitGlobalEntry 3 }

     zxAnProtoRateLimitGlbEgress OBJECT-TYPE
         SYNTAX      Integer32(0..10000)
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
            "The packet rate limit ingress value.
            0xFFFF means unconfigured."      
         ::= { zxAnProtoRateLimitGlobalEntry 4 }
        
     zxAnProtocolRateLimitVlanTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF ZxAnProtocolRateLimitVlanEntry
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
          "The valn protocol rate limiting table.
            This table specifies protocol rate limiting configuration, 
            which is used to reduce the maximum traffic rate for 
            each protocol such as DHCP, IGMP, ICMP and so on.
            This table supports get-next without index."
         ::= { zxAnProtocolRateLimitMgmt 2 }
    
    zxAnProtocolRateLimitVlanEntry  OBJECT-TYPE
        SYNTAX      ZxAnProtocolRateLimitVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "The protocol rate limiting entry."
        INDEX   {zxAnProtoRateLmtVlanId, zxAnProtoRateLmtVlanProtoType}   
        ::=  { zxAnProtocolRateLimitVlanTable 1 }
  
    ZxAnProtocolRateLimitVlanEntry  ::=  
        SEQUENCE {
            zxAnProtoRateLmtVlanId                 VlanId,
            zxAnProtoRateLmtVlanProtoType          ProtoRateLimitType,
            zxAnProtoRateLmtVlanIngress            Integer32,
            zxAnProtoRateLmtVlanEgress             Integer32,
            zxAnProtoRateLmtVlanRowStatus          RowStatus
        }

    zxAnProtoRateLmtVlanId    OBJECT-TYPE 
         SYNTAX          VlanId
         MAX-ACCESS      not-accessible
         STATUS          current
         DESCRIPTION     
            "The VLAN ID."
         ::= { zxAnProtocolRateLimitVlanEntry 1 }           

    zxAnProtoRateLmtVlanProtoType  OBJECT-TYPE
        SYNTAX          ProtoRateLimitType
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Supported Protocol Type."
        ::= { zxAnProtocolRateLimitVlanEntry 2 }  
        
        
    zxAnProtoRateLmtVlanIngress OBJECT-TYPE
        SYNTAX      Integer32(0..10000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "The packet rate limit ingress value.
           0xFFFF means unconfigured."      
        ::= { zxAnProtocolRateLimitVlanEntry 3 }   
         
    zxAnProtoRateLmtVlanEgress OBJECT-TYPE
        SYNTAX      Integer32(0..10000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "The packet rate limit egress value.
           0xFFFF means unconfigured."      
        ::= { zxAnProtocolRateLimitVlanEntry 4 }   
    
    zxAnProtoRateLmtVlanRowStatus    OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
            "The row status of this entry."
        ::= {zxAnProtocolRateLimitVlanEntry 50 }    
             
    zxAnProtocoRateLimitIfTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnProtocoRateLimitIfEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
         "The global protocol rate limiting table.
          This table specifies protocol rate limiting configuration, 
          which is used to reduce the maximum traffic rate for 
          each protocol such as DHCP, IGMP, ICMP and so on.
          This table supports get-next from 'zxAnProtoRateLimitIfPort' index."
        ::= { zxAnProtocolRateLimitMgmt 3 }    
    
    zxAnProtocoRateLimitIfEntry  OBJECT-TYPE
        SYNTAX      ZxAnProtocoRateLimitIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "The vport protocol rate limiting entry."
        INDEX   {zxAnProtoRateLimitIfRack, zxAnProtoRateLimitIfShelf,
                 zxAnProtoRateLimitIfSlot, zxAnProtoRateLimitIfPort, 
                 zxAnProtoRateLimitIfOnu, zxAnProtoRateLimitIfLogicId, 
                 zxAnProtoRateLimitIfProtoType}
        ::=  { zxAnProtocoRateLimitIfTable 1 }

    ZxAnProtocoRateLimitIfEntry  ::=  
        SEQUENCE {
            zxAnProtoRateLimitIfRack                  Integer32,
            zxAnProtoRateLimitIfShelf                 Integer32, 
            zxAnProtoRateLimitIfSlot                  Integer32,
            zxAnProtoRateLimitIfPort                  Integer32,
            zxAnProtoRateLimitIfOnu                   Integer32, 
            zxAnProtoRateLimitIfLogicId               Integer32,
            zxAnProtoRateLimitIfProtoType             ProtoRateLimitType,
            zxAnProtoRateLimitIfIngress               Integer32,
            zxAnProtoRateLimitIfEgress                Integer32,
            zxAnProtoRateLimitIfRowStatus             RowStatus
        }

    zxAnProtoRateLimitIfRack  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            " This object indicates the rack number."
        ::= { zxAnProtocoRateLimitIfEntry 1 }

    zxAnProtoRateLimitIfShelf  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            " This object indicates the shelf number."
        ::= { zxAnProtocoRateLimitIfEntry 2 }

    zxAnProtoRateLimitIfSlot  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            " This object indicates the slot number. "
        ::= { zxAnProtocoRateLimitIfEntry 3 }

    zxAnProtoRateLimitIfPort  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            " This object indicates the physical port number. "
        ::= { zxAnProtocoRateLimitIfEntry 4 }

    zxAnProtoRateLimitIfOnu  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "This object indicates the ONU number."
        ::= { zxAnProtocoRateLimitIfEntry 5 }
        
    zxAnProtoRateLimitIfLogicId OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION   
            "This Logical id of means vport"
        ::= { zxAnProtocoRateLimitIfEntry 6 }    

    zxAnProtoRateLimitIfProtoType  OBJECT-TYPE
        SYNTAX          ProtoRateLimitType
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Supported Protocol Type."
        ::= { zxAnProtocoRateLimitIfEntry 7 }   
        
    zxAnProtoRateLimitIfIngress OBJECT-TYPE
        SYNTAX      Integer32(0..10000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "The packet rate limit ingress value.
            0xFFFF means unconfigured."      
        ::= { zxAnProtocoRateLimitIfEntry 8 }   
         
    zxAnProtoRateLimitIfEgress OBJECT-TYPE
        SYNTAX      Integer32(0..10000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "The packet rate egress value.
           0xFFFF means unconfigured."      
        ::= { zxAnProtocoRateLimitIfEntry 9 }   
         
    zxAnProtoRateLimitIfRowStatus    OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
           "The row status of this entry."
        ::= {zxAnProtocoRateLimitIfEntry 50 }    
 
    zxAnProtocoRateLmtIfVlanTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnProtocoRateLmtIfVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
           "The global protocol rate limiting table.
           This table specifies protocol rate limiting configuration, 
           which is used to reduce the maximum traffic rate for 
           each protocol such as DHCP, IGMP, ICMP and so on.
           This table support get-next from 'zxAnProtoRateLmtIfVlanPort' index."
        ::= { zxAnProtocolRateLimitMgmt 4 }    
    
    zxAnProtocoRateLmtIfVlanEntry  OBJECT-TYPE
        SYNTAX      ZxAnProtocoRateLmtIfVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "The vport protocol rate limiting entry."
        INDEX   {zxAnProtoRateLmtIfVlanRack, zxAnProtoRateLmtIfVlanShelf,
                 zxAnProtoRateLmtIfVlanSlot, zxAnProtoRateLmtIfVlanPort, 
                 zxAnProtoRateLmtIfVlanOnu, 
                 zxAnProtoRateLmtIfVlanLogicId, zxAnProtoRateLmtIfVlanVlanId,
                 zxAnProtoRateLmtIfVlanProtoType}
        ::=  { zxAnProtocoRateLmtIfVlanTable 1 }

    ZxAnProtocoRateLmtIfVlanEntry  ::=  
        SEQUENCE {
            zxAnProtoRateLmtIfVlanRack                  Integer32,
            zxAnProtoRateLmtIfVlanShelf                 Integer32, 
            zxAnProtoRateLmtIfVlanSlot                  Integer32,
            zxAnProtoRateLmtIfVlanPort                  Integer32,
            zxAnProtoRateLmtIfVlanOnu                   Integer32, 
            zxAnProtoRateLmtIfVlanLogicId               Integer32,
            zxAnProtoRateLmtIfVlanVlanId                VlanId,
            zxAnProtoRateLmtIfVlanProtoType             ProtoRateLimitType,
            zxAnProtoRateLmtIfVlanIngress               Integer32,
            zxAnProtoRateLmtIfVlanEgress                Integer32,
            zxAnProtoRateLmtIfVlanRowStatus             RowStatus
        }

        
    zxAnProtoRateLmtIfVlanRack  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            " This object indicates the rack number."
        ::= { zxAnProtocoRateLmtIfVlanEntry 1 }

    zxAnProtoRateLmtIfVlanShelf  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            " This object indicates the shelf number."
        ::= { zxAnProtocoRateLmtIfVlanEntry 2 }

    zxAnProtoRateLmtIfVlanSlot  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            " This object indicates the slot number. "
        ::= { zxAnProtocoRateLmtIfVlanEntry 3 }

    zxAnProtoRateLmtIfVlanPort  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            " This object indicates the physical port number. "
        ::= { zxAnProtocoRateLmtIfVlanEntry 4 }

    zxAnProtoRateLmtIfVlanOnu  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "This object indicates the ONU number."
        ::= { zxAnProtocoRateLmtIfVlanEntry 5 }
        
    zxAnProtoRateLmtIfVlanLogicId OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION   
            "This Logical id of means vport"
        ::= { zxAnProtocoRateLmtIfVlanEntry 6 }    
        
    zxAnProtoRateLmtIfVlanVlanId    OBJECT-TYPE 
        SYNTAX          VlanId
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
           "The VLAN ID."
        ::= { zxAnProtocoRateLmtIfVlanEntry 7 }           

    zxAnProtoRateLmtIfVlanProtoType  OBJECT-TYPE
        SYNTAX          ProtoRateLimitType
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Supported Protocol Type."
        ::= { zxAnProtocoRateLmtIfVlanEntry 8 }   
        
    zxAnProtoRateLmtIfVlanIngress OBJECT-TYPE
        SYNTAX      Integer32(0..10000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The packet rate limit ingress value.
            0xFFFF means unconfigured."      
        ::= { zxAnProtocoRateLmtIfVlanEntry 9 }   
         
    zxAnProtoRateLmtIfVlanEgress OBJECT-TYPE
        SYNTAX      Integer32(0..10000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The packet rate limit egress value.
            0xFFFF means unconfigured."      
        ::= { zxAnProtocoRateLmtIfVlanEntry 10 }   

    zxAnProtoRateLmtIfVlanRowStatus    OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current 
        DESCRIPTION
            "The row status of this entry."
        ::= {zxAnProtocoRateLmtIfVlanEntry 50 }    

    zxAnSupportedRateLimitTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxAnSupportedRateLimitEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The supported protocol rate limiting table.
            This table specifies which kinds of information on protocol type,
            rate limiting scale and unit are supported for current device."
        ::= { zxAnProtocolRateLimitMgmt 50 }
        
    zxAnSupportedRateLimitEntry OBJECT-TYPE
        SYNTAX     ZxAnSupportedRateLimitEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The supported protocol rate limiting entry."
        INDEX {zxAnSupportedRateLimitScale, zxAnSupportedProtocolType }
        ::= { zxAnSupportedRateLimitTable 1 }
        
    ZxAnSupportedRateLimitEntry ::= SEQUENCE {
        zxAnSupportedRateLimitScale                RateLimitScale,  
        zxAnSupportedProtocolType                  ProtoRateLimitType,
        zxAnSupportedRateLimitDirection            INTEGER,
        zxAnSupportedRateLimitUnits                INTEGER
    }

    zxAnSupportedRateLimitScale    OBJECT-TYPE
        SYNTAX          RateLimitScale
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Supported Protocol Rate Limiting Scale."
        ::= { zxAnSupportedRateLimitEntry 1 }

    zxAnSupportedProtocolType    OBJECT-TYPE
        SYNTAX          ProtoRateLimitType
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Supported Protocol Type."
        ::= { zxAnSupportedRateLimitEntry 2 }
 
    zxAnSupportedRateLimitDirection OBJECT-TYPE
        SYNTAX          INTEGER 
        {
             both(1),
             ingress(2),
             egress(3)
        }
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The VLAN rate limit direction."
        ::= { zxAnSupportedRateLimitEntry 3 }        
        
    zxAnSupportedRateLimitUnits       OBJECT-TYPE
        SYNTAX        INTEGER
        {
            pps(1)
        }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Supported unit type of rate for a specific protocol."
        ::= { zxAnSupportedRateLimitEntry 4 }
--------------------------------------------------------------------------------
-- 20.Interface Protocol Transparent Table
--------------------------------------------------------------------------------

    zxAnIfProtocolTransObject OBJECT IDENTIFIER ::= {zxAnInterfaceObjects  22}
    
    zxAnIfProtocolTransTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxAnIfProtocolTransEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The interface protocol transparent table.
             This table specifies that interface transparent 
             transmits protocol.
             This table supports get-next from 'zxAnIfProtocolTransIfType' 
             index."
        ::= { zxAnIfProtocolTransObject 1 }
    
    zxAnIfProtocolTransEntry OBJECT-TYPE
        SYNTAX     ZxAnIfProtocolTransEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The interface protocol transparent entry."
        INDEX 
            {
                zxAnIfProtocolTransRack,
                zxAnIfProtocolTransShelf,
                zxAnIfProtocolTransSlot,
                zxAnIfProtocolTransPort,
                zxAnIfProtocolTransOnu,
                zxAnIfProtocolTransIfType,
                zxAnIfProtocolTransLogicalId,
                zxAnIfProtocolTransType
            }
        ::= { zxAnIfProtocolTransTable 1 }
        
    ZxAnIfProtocolTransEntry ::= SEQUENCE {
        zxAnIfProtocolTransRack             Integer32,  
        zxAnIfProtocolTransShelf            Integer32,
        zxAnIfProtocolTransSlot             Integer32,
        zxAnIfProtocolTransPort             Integer32,
        zxAnIfProtocolTransOnu              Integer32,
        zxAnIfProtocolTransIfType           INTEGER,
        zxAnIfProtocolTransLogicalId        OBJECT IDENTIFIER,
        zxAnIfProtocolTransType             INTEGER,
        zxAnIfProtocolTransRowStatus        RowStatus
    }
        
    zxAnIfProtocolTransRack  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Rack No. of the interface."
        ::= { zxAnIfProtocolTransEntry 1 }
        
    zxAnIfProtocolTransShelf  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Shelf No. of the interface."
        ::= { zxAnIfProtocolTransEntry 2 }
        
    zxAnIfProtocolTransSlot  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Slot No. of the interface."
        ::= { zxAnIfProtocolTransEntry 3 }
        
    zxAnIfProtocolTransPort  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Physical port No. of the interface."
        ::= { zxAnIfProtocolTransEntry 4 }
        
    zxAnIfProtocolTransOnu  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The ONU number. It is 0 in DSL port."
        ::= { zxAnIfProtocolTransEntry 5 }
        
    zxAnIfProtocolTransIfType  OBJECT-TYPE
        SYNTAX      INTEGER 
        {    
            physicalPort(1),
            bridgePort(2),
            ponOnu(3),
            ponVPort(4),
            onuUni(5),
            servicePort(11),
            vlan(12)
        }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Type of the interface."
        ::= { zxAnIfProtocolTransEntry 6 }
        
    zxAnIfProtocolTransLogicalId OBJECT-TYPE 
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION   
            "Logic index of the interface.
            
            If zxAnIfTransProtocolIfType is 'physicalPort', its value is 0.
            
            If zxAnIfTransProtocolIfType is 'bridgePort', this object
            indicates 'pvc', such as oid '1' indicates 'PVC1'.
            
            If zxAnIfTransProtocolIfType is 'ponOnu', its value is 0.
            
            If zxAnIfTransProtocolIfType is 'ponVPort', this object
            indicates 'ponVPort', such as oid '1' indicates 'PortVPort1'.
            
            If zxAnIfTransProtocolIfType is 'onuUni', this object
            indicates 'onuSlot.uniId', this type is used for SFUs only.
            If the ONU slot is not cared about, the onuSlot is 0,
            such as oid '0.1' indicates 'ONUSlot0.UNIID1'.
            
            If zxAnIfTransProtocolIfType is 'servicePort', this object
            indicates 'servicePort', such as oid '1' indicates 'ServicePort1'.
            
            If zxAnIfTransProtocolIfType is 'vlan', this object indicates
            'vlanId | svlanId.cvlanId', such as oid '1' indicates 'VLANID1',
            oid '1.2' indicates 'SVLANID1.CVLANID2'.
            "
        ::= { zxAnIfProtocolTransEntry 7 }
    
    zxAnIfProtocolTransType  OBJECT-TYPE
        SYNTAX      INTEGER 
        {    
            osfpAndRip(1)
        }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The transparent protocol type."
        ::= { zxAnIfProtocolTransEntry 8 }
        
    zxAnIfProtocolTransRowStatus    OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     
            "The row status of this entry."
        ::= { zxAnIfProtocolTransEntry 20 }
      
      
--------------------------------------------------------------------------------
-- 22.Optical Module Group
--------------------------------------------------------------------------------

    zxAnOpticalModuleGroup OBJECT IDENTIFIER ::= {zxAnInterfaceObjects  23}
    
--------------------------------------------------------------------------------
-- Optical Module Alarm Profile Table
--------------------------------------------------------------------------------
    zxAnOpticalModuleAlmPrfTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnOpticalModuleAlmPrfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table includes the optical module threshold profile. 
            It can be configured up to 32,which one is the default profile."
        ::=  { zxAnOpticalModuleGroup  2 }

    zxAnOpticalModuleAlmPrfEntry   OBJECT-TYPE
        SYNTAX      ZxAnOpticalModuleAlmPrfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnOpticalModuleAlmPrfTable."
        INDEX       { zxAnOptPrfModuleAlmPrfName  }
        ::=  { zxAnOpticalModuleAlmPrfTable 1 }

    ZxAnOpticalModuleAlmPrfEntry  ::=  SEQUENCE {
        zxAnOptPrfModuleAlmPrfName             DisplayString,
        zxAnOptPrfRxPwrLowerThresh             Integer32,
        zxAnOptPrfRxPwrUpperThresh             Integer32,
        zxAnOptPrfTxPwrLowerThresh             Integer32,
        zxAnOptPrfTxPwrUpperThresh             Integer32,
        zxAnOptPrfBiasCurrLowerThresh          Integer32,
        zxAnOptPrfBiasCurrUpperThresh          Integer32,
        zxAnOptPrfVoltageLowerThresh           Integer32,
        zxAnOptPrfVoltageUpperThresh           Integer32,
        zxAnOptPrfTempLowerThresh              Integer32,
        zxAnOptPrfTempUpperThresh              Integer32,
        zxAnOptPrfOfflineTrapEnable            INTEGER,
        zxAnOptPrfModuleAlmPrfRowStatus        RowStatus 
        }

    zxAnOptPrfModuleAlmPrfName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (1..32))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A textual string containing information about the
            optical module alarm threshold profile name. It can be
            configured up to 32 profiles,which one is the default
            profile."
        ::= { zxAnOpticalModuleAlmPrfEntry 1 }
     
    zxAnOptPrfRxPwrLowerThresh OBJECT-TYPE 
        SYNTAX      Integer32(-400..100)
        UNITS       "0.1dBm"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The lower limit threshold on input optical power.
            The alarm should be generated  when zxAnOpticalIfRxPwrCurrValue
            is lower than this threshold. The default value is -340. "
        DEFVAL  { -340 }  
        ::=  {  zxAnOpticalModuleAlmPrfEntry  2}

    zxAnOptPrfRxPwrUpperThresh OBJECT-TYPE 
        SYNTAX      Integer32(-400..100)
        UNITS       "0.1dBm"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The upper limit threshold on input optical power. 
            The alarm should be generated when zxAnOpticalIfRxPwrCurrValue
            exceeds this threshold.The default value is 30. "
        DEFVAL  { 30 }               
        ::=  {  zxAnOpticalModuleAlmPrfEntry  3 }

    zxAnOptPrfTxPwrLowerThresh OBJECT-TYPE 
        SYNTAX      Integer32(-200..200)
        UNITS       "0.1dbm"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The lower limit threshold on output optical power.
            The alarm should be generated  when zxAnOpticalIfTxPwrCurrValue
            is lower than this threshold. The default value is -140. "
        DEFVAL  { -140 }               
        ::=  {  zxAnOpticalModuleAlmPrfEntry  4 }

    zxAnOptPrfTxPwrUpperThresh OBJECT-TYPE 
        SYNTAX      Integer32(-200..200)
        UNITS       "0.1dbm"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The upper limit threshold on output optical power.
            The alarm should be generated when zxAnOpticalIfTxPwrCurrValue
            exceeds this threshold.The default value is 90. "
        DEFVAL  { 90 }                
        ::=  {  zxAnOpticalModuleAlmPrfEntry  5 }   

    zxAnOptPrfBiasCurrLowerThresh OBJECT-TYPE 
        SYNTAX      Integer32(0..1500)
        UNITS       "0.1mA"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The lower limit threshold on optical modules bias
            current.The alarm should be generated  when
            zxAnOpticalBiasCurrent is lower than this threshold.
            The default value is 0. "
        DEFVAL  { 0 }               
        ::=  {  zxAnOpticalModuleAlmPrfEntry  6 }    
        
    zxAnOptPrfBiasCurrUpperThresh OBJECT-TYPE 
        SYNTAX      Integer32(0..1500)
        UNITS       "0.1mA"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The upper limit threshold on optical modules bias current.
            The alarm should be generated when zxAnOpticalBiasCurrent 
            exceeds this threshold.The default value is 1310. "
        DEFVAL  { 1310 }               
        ::=  {  zxAnOpticalModuleAlmPrfEntry  7 } 

    zxAnOptPrfVoltageLowerThresh OBJECT-TYPE 
        SYNTAX      Integer32(0..100)
        UNITS       "0.1 Volt"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The lower limit threshold on optical modules supply voltage.
            The alarm should be generated when zxAnOpticalSupplyVoltage 
            is lower than this threshold.The default value is 0. "
        DEFVAL  { 0 }               
        ::=  {  zxAnOpticalModuleAlmPrfEntry  8 } 
        
    zxAnOptPrfVoltageUpperThresh OBJECT-TYPE 
        SYNTAX      Integer32(0..100)
        UNITS       "0.1 Volt"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The upper limit threshold on optical modules supply voltage.
            The alarm should be generated when zxAnOpticalSupplyVoltage 
            exceeds this threshold.The default value is 70. "
        DEFVAL  { 70 }               
        ::=  {  zxAnOpticalModuleAlmPrfEntry  9 } 

    zxAnOptPrfTempLowerThresh OBJECT-TYPE 
        SYNTAX      Integer32(-50..100)
        UNITS       "Centigrade"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The lower limit threshold on optical modules temperature.
            The alarm should be generated  when zxAnOpticalTemperature 
            is lower than this threshold.The default value is -45. "
        DEFVAL  { -45 }               
        ::=  {  zxAnOpticalModuleAlmPrfEntry  10 }      
        
    zxAnOptPrfTempUpperThresh OBJECT-TYPE 
        SYNTAX      Integer32(-50..100)
        UNITS       "Centigrade"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The upper limit threshold on optical modules temperature.
            The alarm should be generated when zxAnOpticalTemperature 
            exceeds this threshold.The default value is 90. "
        DEFVAL  { 90 }               
        ::=  {  zxAnOpticalModuleAlmPrfEntry  11 }   


     zxAnOptPrfOfflineTrapEnable  OBJECT-TYPE
        SYNTAX      INTEGER { enabled(1), disabled(2) }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates whether optical module is online/offline 
            traps should be generated
            for this interface.The default value is enabled(1)"
        DEFVAL  { enabled }               
        ::= { zxAnOpticalModuleAlmPrfEntry 12 }


    zxAnOptPrfModuleAlmPrfRowStatus    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 zxAnExampleFunc1Xxx1Entry.
    
            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)."
        ::= {zxAnOpticalModuleAlmPrfEntry 50 }  
 
        
--------------------------------------------------------------------------------
-- Optical Module Alarm Profile Configuration Table
--------------------------------------------------------------------------------
    zxAnOpticalAlmPrfIfConfTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnOpticalAlmPrfIfConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table includes the optical module profile configuration."
        ::=  { zxAnOpticalModuleGroup  3 }

    zxAnOpticalAlmPrfIfConfEntry   OBJECT-TYPE
        SYNTAX      ZxAnOpticalAlmPrfIfConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnOpticalAlmPrfIfConfTable."
        INDEX       { ifIndex  }
        ::=  { zxAnOpticalAlmPrfIfConfTable 1 }

    ZxAnOpticalAlmPrfIfConfEntry  ::=  SEQUENCE {           
        zxAnOpticalIfAlmPrf                    DisplayString     
        }  

    zxAnOpticalIfAlmPrf OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (1..32))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "A textual string containing information about the
            optical module alarm threshold profile name ."
        DEFVAL  { "default_alarm_profile" }
        ::= { zxAnOpticalAlmPrfIfConfEntry 2 }  

--------------------------------------------------------------------------------
-- Optical Module ALS Configuration Table
--------------------------------------------------------------------------------
    zxAnOpticalAlsIfConfTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnOpticalAlsIfConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table includes the ALS configuration of the optical module."
        ::=  { zxAnOpticalModuleGroup  4 }

    zxAnOpticalAlsIfConfEntry   OBJECT-TYPE
        SYNTAX      ZxAnOpticalAlsIfConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnOpticalAlsIfConfTable."
        INDEX       { ifIndex  }
        ::=  { zxAnOpticalAlsIfConfTable 1 }

    ZxAnOpticalAlsIfConfEntry  ::=  SEQUENCE {           
        zxAnOptAlsEnable                INTEGER,
        zxAnOptAlsLaserLosDuration      Integer32,
        zxAnOptAlsLaserShutdownDuration Integer32,
        zxAnOptAlsLaserStartUpDuration  Integer32
        }  

    zxAnOptAlsEnable OBJECT-TYPE
        SYNTAX INTEGER{
                enabled(1),
                disabled(2) 
                }
        MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION
            "Enable or disable the ALS function."
        DEFVAL { disabled }
        ::= { zxAnOpticalAlsIfConfEntry 1 }

    zxAnOptAlsLaserLosDuration  OBJECT-TYPE 
        SYNTAX  Integer32(5..50)
        UNITS  "100ms"
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION     
            "This attribute specifies the value of the LOS duration. 
            The laser will be shutdown when detected the LOS duration 
            longer than zxAnOptAlsLaserLosDuration value.
            Setting this object will enable the ALS function."
        DEFVAL  { 5 }  
        ::=  {  zxAnOpticalAlsIfConfEntry  2}

    zxAnOptAlsLaserShutdownDuration  OBJECT-TYPE 
        SYNTAX  Integer32(20..2000)
        UNITS  "100ms"
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION     
            "This attribute specifies the value of the laser shutdown 
            duration. 
            Setting this object will enable the ALS function."
        DEFVAL  { 100 }  
        ::=  {  zxAnOpticalAlsIfConfEntry  3}

    zxAnOptAlsLaserStartUpDuration  OBJECT-TYPE 
        SYNTAX      Integer32(50..20000)
        UNITS       "100ms"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION     
            "This attribute specifies the value of the laser re-open 
            duration.
            Setting this object will enable the ALS function."
        DEFVAL  { 50 }  
        ::=  {  zxAnOpticalAlsIfConfEntry  4}

--------------------------------------------------------------------------------  
-- 21.Port Number Stats Objects   
--------------------------------------------------------------------------------
    zxAnPortNumberStatsObjects OBJECT IDENTIFIER ::= {zxAnInterfaceObjects  100}
    zxAnTotalPortNumberStatsObjects OBJECT IDENTIFIER 
    ::= { zxAnPortNumberStatsObjects 1 }  
    
    zxAnTotalAdslPorts  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of total ADSL ports."      
        ::= {zxAnTotalPortNumberStatsObjects 1}
        
    zxAnTotalVdslPorts OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of total VDSL ports."      
        ::= {zxAnTotalPortNumberStatsObjects 2}
        
    zxAnTotalShdslPorts  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of total SHDSL ports."      
        ::= {zxAnTotalPortNumberStatsObjects 3}
        
    zxAnTotalEthernetUserPorts OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of total ethernet user ports."      
        ::= {zxAnTotalPortNumberStatsObjects 4}
        
    zxAnTotalIgmpPorts  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of total IGMP ports."      
        ::= {zxAnTotalPortNumberStatsObjects 5}
        
    zxAnTotalPwe3Ports  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of total PWE3 E1 ports."      
        ::= {zxAnTotalPortNumberStatsObjects 6} 
        
    zxAnOnlinePortNumberStatsObjects OBJECT IDENTIFIER 
    ::= { zxAnPortNumberStatsObjects 2 }
    
    zxAnOnlineAdslPorts  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of online ADSL ports."      
        ::= {zxAnOnlinePortNumberStatsObjects 1}
        
    zxAnOnlineVdslPorts OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of online VDSL ports."      
        ::= {zxAnOnlinePortNumberStatsObjects 2}
        
    zxAnOnlineShdslPorts  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of online SHDSL ports."      
        ::= {zxAnOnlinePortNumberStatsObjects 3}
        
    zxAnOnlineEthernetUserPorts OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of online ethernet user ports."      
        ::= {zxAnOnlinePortNumberStatsObjects 4}
        
    zxAnOnlineIgmpPorts  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of online IGMP ports."      
        ::= {zxAnOnlinePortNumberStatsObjects 5}
        
    zxAnOnlinePwe3Ports  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of online PWE3 E1 ports."      
        ::= {zxAnOnlinePortNumberStatsObjects 6}   
         
    zxAnActivePortNumberStatsObjects OBJECT IDENTIFIER 
    ::= { zxAnPortNumberStatsObjects 3 }  
     
    zxAnActiveAdslPorts  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of active ADSL ports."      
        ::= {zxAnActivePortNumberStatsObjects 1}
        
    zxAnActiveVdslPorts OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of active VDSL ports."      
        ::= {zxAnActivePortNumberStatsObjects 2}
        
    zxAnActiveShdslPorts  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of active SHDSL ports."      
        ::= {zxAnActivePortNumberStatsObjects 3}
        
    zxAnActiveEthernetUserPorts OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of active ethernet user ports."      
        ::= {zxAnActivePortNumberStatsObjects 4}
        
    zxAnActivePwe3Ports  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The number of active PWE3 E1 ports."      
        ::= {zxAnActivePortNumberStatsObjects 5}

--------------------------------------------------------------------------------
-- 23.Interface Statistics Group
--------------------------------------------------------------------------------
    
    zxAnIfStatsGroup OBJECT IDENTIFIER ::= {zxAnInterfaceObjects  24}
    
--------------------------------------------------------------------------------
-- Interface VLAN CoS Statistics Table
--------------------------------------------------------------------------------    
    
    zxAnIfVlanCosStatsTable   OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnIfVlanCosStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "Interface VLAN CoS performance statistics table."
        ::=  { zxAnIfStatsGroup  2 }
        
    zxAnIfVlanCosStatsEntry   OBJECT-TYPE
        SYNTAX      ZxAnIfVlanCosStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnIfVlanCosStatsTable."
        INDEX { zxAnIfVlanStatIfIndex, zxAnIfVlanId, zxAnIfVlanCos  }
        ::=  { zxAnIfVlanCosStatsTable 1 }

    ZxAnIfVlanCosStatsEntry  ::=  SEQUENCE {
        zxAnIfVlanCos                          Integer32,
        zxAnIfVlanCosStatEnable                INTEGER,
        zxAnIfVlanCosTxOctets                  Counter64,
        zxAnIfVlanCosRxOctets                  Counter64,
        zxAnIfVlanCosTxUcastPkts               Counter64,
        zxAnIfVlanCosRxUcastPkts               Counter64,
        zxAnIfVlanCosTxMulticastPkts           Counter64,
        zxAnIfVlanCosRxMulticastPkts           Counter64,
        zxAnIfVlanCosTxBroadcastPkts           Counter64,
        zxAnIfVlanCosRxBroadcastPkts           Counter64,        
        zxAnIfVlanCosTxBWDisRatio              Integer32,            
        zxAnIfVlanCosRxBWDisRatio              Integer32,
        zxAnIfVlanCosTxWredDisRatio            Integer32,
        zxAnIfVlanCosTxBandwidthDisPkts        Counter64,
        zxAnIfVlanCosRxBandwidthDisPkts        Counter64,
        zxAnIfVlanCosTxWredDisPkts             Counter64,
        zxAnIfVlanCosStatRowStatus             RowStatus
        }
    
    zxAnIfVlanCos OBJECT-TYPE 
        SYNTAX          Integer32(0..7)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "An integer that is in the range of the layer 2 CoS values.
             This corresponds to the 802.1p and ISL CoS values."
        ::= { zxAnIfVlanCosStatsEntry 1 }
        
    zxAnIfVlanCosStatEnable OBJECT-TYPE
       SYNTAX          INTEGER 
       {
            enable(1),  
            disable(2)
       }
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION
           "Enable/disable the interface VLAN CoS Statisic."
       ::= { zxAnIfVlanCosStatsEntry 2 }
    
    zxAnIfVlanCosTxOctets OBJECT-TYPE 
        SYNTAX          Counter64
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     
            "The total number of octets transmitted out of the interface,
             including framing characters. 
             Discontinuities in the value of this counter can occur at 
             re-initialization of the management system."
        ::= { zxAnIfVlanCosStatsEntry 3 }
        
    zxAnIfVlanCosRxOctets 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."
        ::= { zxAnIfVlanCosStatsEntry 4 }
        
    zxAnIfVlanCosTxUcastPkts  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."
        ::= { zxAnIfVlanCosStatsEntry 5 }
        
    zxAnIfVlanCosRxUcastPkts  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."
        ::= { zxAnIfVlanCosStatsEntry 6 }
        
    zxAnIfVlanCosTxMulticastPkts  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."
        ::= { zxAnIfVlanCosStatsEntry 7 }
        
    zxAnIfVlanCosRxMulticastPkts  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."
        ::= { zxAnIfVlanCosStatsEntry 8 }
        
    zxAnIfVlanCosTxBroadcastPkts  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."
        ::= { zxAnIfVlanCosStatsEntry 9 }
        
    zxAnIfVlanCosRxBroadcastPkts  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."
        ::= { zxAnIfVlanCosStatsEntry 10 }
        
    zxAnIfVlanCosTxBWDisRatio OBJECT-TYPE
        SYNTAX      Integer32        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the ratio of transmitted packets discarded
             by this traffic processor due to subscriber bandwidth limitations.
        
             Discontinuities in the value of this counter can occur at
             re-initialization of the management system." 
        ::= { zxAnIfVlanCosStatsEntry 11 }
        
    zxAnIfVlanCosRxBWDisRatio OBJECT-TYPE
        SYNTAX      Integer32        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the ratio of received packets discarded
             by this traffic processor due to subscriber bandwidth limitations.
        
             Discontinuities in the value of this counter can occur at
             re-initialization of the management system." 
        ::= { zxAnIfVlanCosStatsEntry 12 }
        
    zxAnIfVlanCosTxWredDisRatio OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the ratio of transmitted packets discarded
             by this traffic processor due to congestion in the queues.
        
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system."
        ::= { zxAnIfVlanCosStatsEntry 13 }
 
    zxAnIfVlanCosTxBandwidthDisPkts OBJECT-TYPE
        SYNTAX      Counter64        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of transmitted packets discarded
             by this traffic processor due to subscriber bandwidth limitations.
        
             Discontinuities in the value of this counter can occur at
             re-initialization of the management system." 
        ::= { zxAnIfVlanCosStatsEntry 14 }
        
    zxAnIfVlanCosRxBandwidthDisPkts OBJECT-TYPE
        SYNTAX      Counter64        
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of received packets discarded
             by this traffic processor due to subscriber bandwidth limitations.
        
             Discontinuities in the value of this counter can occur at
             re-initialization of the management system." 
        ::= { zxAnIfVlanCosStatsEntry 15 }
        
    zxAnIfVlanCosTxWredDisPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the number of transmitted packets discarded
             by this traffic processor due to congestion in the queues.
        
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system."
        ::= { zxAnIfVlanCosStatsEntry 16 }
        
    zxAnIfVlanCosStatRowStatus    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 zxAnIfVlanCosStatsEntry.
    
            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)."
        ::= {zxAnIfVlanCosStatsEntry 50 }          

------------------------------------------------------------------------------
-- 24.Storm Control Objects
------------------------------------------------------------------------------ 
    
    StormControlType ::= TEXTUAL-CONVENTION
        STATUS     current
        DESCRIPTION     
            "Storm control type."
        SYNTAX     INTEGER
        {
            broadcast(1),
            unknownUnicast(2),
            multicast(3) 
        }
    
    zxAnStormControlObjects  OBJECT IDENTIFIER  
        ::=  {  zxAnInterfaceObjects  25  } 
    
    zxAnIfStormControlTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxAnIfStormControlEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Interface storm control table."
        ::= { zxAnStormControlObjects 2 }
        
    zxAnIfStormControlEntry OBJECT-TYPE
        SYNTAX     ZxAnIfStormControlEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A entry of zxAnIfStormControlTable."
        INDEX   
        { 
           zxAnIfStormControlIfIndex,
           zxAnIfStormControlPktType 
        }
        ::= { zxAnIfStormControlTable 1 }
        
    ZxAnIfStormControlEntry ::= SEQUENCE 
        {
           zxAnIfStormControlIfIndex            ZxAnIfindex,
           zxAnIfStormControlPktType            StormControlType,
           zxAnIfStormCtrlRateLmtIngress        Integer32,
           zxAnIfStormCtrlRateLmtEgress         Integer32,
           zxAnIfStormCtrlRateLmtUnit           INTEGER
        }
        
    zxAnIfStormControlIfIndex OBJECT-TYPE
        SYNTAX     ZxAnIfindex 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The index of this interface storm control table."
        ::= { zxAnIfStormControlEntry 1 }
      
    zxAnIfStormControlPktType  OBJECT-TYPE 
        SYNTAX     StormControlType 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Storm control packet type."
        ::=  {  zxAnIfStormControlEntry  2  }  
        
    zxAnIfStormCtrlRateLmtIngress OBJECT-TYPE 
        SYNTAX     Integer32(0..65535 | 2147483646 | 2147483647)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "The packet rate limit ingress value. 
             Value 0 means that the packet will be discarded.
             0x7FFFFFFE means no limit.                            
             0x7FFFFFFF means not supported."               
        DEFVAL { 100 }
        ::=  {  zxAnIfStormControlEntry  3  }
        
    zxAnIfStormCtrlRateLmtEgress OBJECT-TYPE 
        SYNTAX     Integer32(0..65535 | 2147483646 | 2147483647) 
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "The packet rate limit egress value. 
             Value 0 means that the packet will be discarded.
             0x7FFFFFFE means no limit.
             0x7FFFFFFF means not supported."              
        DEFVAL { 100 }
        ::=  {  zxAnIfStormControlEntry  4  }   
                           
    zxAnIfStormCtrlRateLmtUnit OBJECT-TYPE
        SYNTAX      INTEGER 
            {
                pps(1),
                kbps(2)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The unit of packet rate limit."
        ::= { zxAnIfStormControlEntry 5 }
        
    zxAnIfVlanStormControlTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxAnIfVlanStormControlEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Interface VLAN storm control table."
        ::= { zxAnStormControlObjects 3 }
         
    zxAnIfVlanStormControlEntry OBJECT-TYPE
        SYNTAX  ZxAnIfVlanStormControlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A entry of zxAnIfVlanStormControlTable."
        INDEX   
        { 
            zxAnIfVlanStormControlIfIndex,
            zxAnIfVlanStormControlVlanId,
            zxAnIfVlanStormControlPktType 
        }
        ::= { zxAnIfVlanStormControlTable 1 }
         
    ZxAnIfVlanStormControlEntry ::= SEQUENCE 
        {
           zxAnIfVlanStormControlIfIndex           ZxAnIfindex,  
           zxAnIfVlanStormControlVlanId            VlanId,
           zxAnIfVlanStormControlPktType           StormControlType,
           zxAnSecStormCtrlIfVlanRateLimit         Integer32,
           zxAnSecStormCtrlIfVlanBurstSize         Integer32,
           zxAnSecStormCtrlIfVlanRowStatus         RowStatus
        }

    zxAnIfVlanStormControlIfIndex OBJECT-TYPE
         SYNTAX     ZxAnIfindex
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
            "The index of this interface VLAN storm control table."
         ::= { zxAnIfVlanStormControlEntry 1 }

    zxAnIfVlanStormControlVlanId    OBJECT-TYPE
        SYNTAX     VlanId
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "The VLAN ID."
        ::= { zxAnIfVlanStormControlEntry 2 }

    zxAnIfVlanStormControlPktType  OBJECT-TYPE
        SYNTAX     StormControlType
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Storm control packet type."
        ::=  {  zxAnIfVlanStormControlEntry  3  }

    zxAnSecStormCtrlIfVlanRateLimit  OBJECT-TYPE
        SYNTAX     Integer32(0..65535)
        UNITS      "kbps"
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "Value 0 means that the packet will be discarded.
             Value 65535 means no limit."
        DEFVAL { 100 }
        ::=  {  zxAnIfVlanStormControlEntry  4  }

    zxAnSecStormCtrlIfVlanBurstSize  OBJECT-TYPE
        SYNTAX     Integer32(1..1023)
        UNITS      "kbyte"
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "Burst size."
        DEFVAL { 1023 }
        ::=  {  zxAnIfVlanStormControlEntry  5  }
        
    zxAnSecStormCtrlIfVlanRowStatus    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 zxAnIfVlanStormControlEntry.
    
            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)."
        ::= {zxAnIfVlanStormControlEntry 50 }

--------------------------------------------------------------------------------
-- 25.Protocol Rate Limit Objects
--------------------------------------------------------------------------------
    RateLimitProtocolType ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION     
            "Protocol Type."
        SYNTAX      INTEGER
        {
            igmp(1),
            mld(2),
            linkLocalAddr(3),            
            icmpv6(4),
            nd(5),
            dhcpv6(6)
        }
        
    zxAnProtoRateLimitObjects  OBJECT IDENTIFIER  
        ::=  {  zxAnInterfaceObjects  26  }         
        
    zxAnProtoIfRateLimitTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxAnProtoIfRateLimitEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Interface protocol rate limit table."
        ::= { zxAnProtoRateLimitObjects 2 }
        
    zxAnProtoIfRateLimitEntry OBJECT-TYPE
        SYNTAX     ZxAnProtoIfRateLimitEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A entry of zxAnProtoIfRateLimitTable."
        INDEX   
        { 
           zxAnProtoIfRateLimitIfIndex,
           zxAnProtoIfRateLimitProtoType            
        }
        ::= { zxAnProtoIfRateLimitTable 1 }
        
    ZxAnProtoIfRateLimitEntry ::= SEQUENCE 
        {
           zxAnProtoIfRateLimitIfIndex            ZxAnIfindex,
           zxAnProtoIfRateLimitProtoType          RateLimitProtocolType,           
           zxAnProtoIfRateLimitIngress            Integer32,
           zxAnProtoIfRateLimitEgress             Integer32
        }
        
    zxAnProtoIfRateLimitIfIndex OBJECT-TYPE
        SYNTAX     ZxAnIfindex 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The index of this interface ptrotocol packet limit table."
        ::= { zxAnProtoIfRateLimitEntry 1 }
      
    zxAnProtoIfRateLimitProtoType  OBJECT-TYPE 
        SYNTAX     RateLimitProtocolType 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The protocol packet type."
        ::=  {  zxAnProtoIfRateLimitEntry  2  }  

    zxAnProtoIfRateLimitIngress  OBJECT-TYPE 
        SYNTAX     Integer32(0..1000000 | 2147483646 | 2147483647) 
        UNITS      "kbps"  
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "The packet rate limit ingress value. 
             Value 0 means that the packet will be discarded,
             0x7FFFFFFE means no limit.
             0x7FFFFFFF means not supported."
        DEFVAL { 100 }
        ::=  {  zxAnProtoIfRateLimitEntry  3  }     
                           
    zxAnProtoIfRateLimitEgress  OBJECT-TYPE 
        SYNTAX     Integer32(0..1000000 | 2147483646 | 2147483647) 
        UNITS      "kbps"  
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "The packet rate limit egress value. 
             Value 0 means that the packet will be discarded,
             0x7FFFFFFE means no limit.
             0x7FFFFFFF means not supported."
        DEFVAL { 100 }
        ::=  {  zxAnProtoIfRateLimitEntry  4  }      
        
------------------------------------------------------------------------------
-- 27.MAX-MAC-LEARN Objects
------------------------------------------------------------------------------ 
        
    zxAnIfVlanConfObjects  OBJECT IDENTIFIER  
        ::=  {  zxAnInterfaceObjects  27  } 
    

    zxAnIfVlanMacLearnedLimitTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxAnIfVlanMacLearnedLimitEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Interface VLAN MAC address learned limit table."
        ::= { zxAnIfVlanConfObjects 2 }
         
    zxAnIfVlanMacLearnedLimitEntry OBJECT-TYPE
        SYNTAX  ZxAnIfVlanMacLearnedLimitEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Interface VLAN MAC address learned limit entry."
        INDEX   
        { 
            zxAnIfVlanMacLearnedLmtIfIndex,
            zxAnSecIfVlanMacLearnedVid
        }
        ::= { zxAnIfVlanMacLearnedLimitTable 1 }
         
    ZxAnIfVlanMacLearnedLimitEntry ::= SEQUENCE 
        {
           zxAnIfVlanMacLearnedLmtIfIndex      ZxAnIfindex,  
           zxAnSecIfVlanMacLearnedVid          VlanId,
           zxAnSecIfVlanMacLearnedMaxMacs      Integer32,
           zxAnSecIfVlanMacLearnedRowStatus    RowStatus
        }

    zxAnIfVlanMacLearnedLmtIfIndex OBJECT-TYPE
         SYNTAX     ZxAnIfindex
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
             "Interface index."
         ::= { zxAnIfVlanMacLearnedLimitEntry 1 }

    zxAnSecIfVlanMacLearnedVid    OBJECT-TYPE
        SYNTAX     VlanId
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "VLAN ID."
        ::= { zxAnIfVlanMacLearnedLimitEntry 2 }

    zxAnSecIfVlanMacLearnedMaxMacs  OBJECT-TYPE
        SYNTAX     Integer32(0..8192)
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "Maximum Learned MAC Addresses.
             
             Value 0 mean to disable MAC address learning."
        DEFVAL { 8000 }
        ::=  {  zxAnIfVlanMacLearnedLimitEntry  3  }
        
    zxAnSecIfVlanMacLearnedRowStatus    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 zxAnIfVlanMacLearnedLimitEntry.
    
            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)."
        ::= {zxAnIfVlanMacLearnedLimitEntry 50 }
  
        
--------------------------------------------------------------------------------
-- 30.Trap Definations
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
-- 30.1 linkup/down,los and SelfLoopback trap
--------------------------------------------------------------------------------
    
    zxAnIfUplinkUp NOTIFICATION-TYPE
        OBJECTS { ifAdminStatus,ifOperStatus,ifType }
        STATUS  current
        DESCRIPTION
            "The operational status of uplink interface changes to up."
        ::= { zxAnInterfaceTrapObjects 1 }

    zxAnIfUplinkDown NOTIFICATION-TYPE
        OBJECTS { ifAdminStatus,ifOperStatus,ifType }
        STATUS  current
        DESCRIPTION
            "The operational status of uplink interface changes to down."
        ::= { zxAnInterfaceTrapObjects 2 }

    zxAnIfAccesslinkUp NOTIFICATION-TYPE
        OBJECTS { ifAdminStatus,ifOperStatus,ifType }
        STATUS  current
        DESCRIPTION
            "The operational status of access link interface changes to up."
        ::= { zxAnInterfaceTrapObjects 3 }

    zxAnIfAccesslinkDown NOTIFICATION-TYPE
        OBJECTS { ifAdminStatus,ifOperStatus,ifType }
        STATUS  current
        DESCRIPTION
            "The operational status of access link interface changes to down."
        ::= { zxAnInterfaceTrapObjects 4 }

    zxAnEquipIfFiberLosTrap NOTIFICATION-TYPE
        OBJECTS { ifAdminStatus,ifOperStatus,ifType }
        STATUS  current
        DESCRIPTION
            "The optical fiber module has checked loss of signal event."
        ::= { zxAnInterfaceTrapObjects 6 }

    zxAnEquipIfFiberLosCleardTrap NOTIFICATION-TYPE
        OBJECTS { ifAdminStatus,ifOperStatus,ifType }
        STATUS  current
        DESCRIPTION
            "The optical fiber module has checked that the loss of signal event
            has been cleared."
        ::= { zxAnInterfaceTrapObjects 7 }

    zxAnIfAccessSelfLoopTrap NOTIFICATION-TYPE
        OBJECTS { ifIndex,zxAnIfLoopBackStatus }
        STATUS  current
        DESCRIPTION
            "SelfLoop failure of access link interface has been found.
            Varible ifIndex indicates which access link interface has SelfLoop 
            failure."
        ::= { zxAnInterfaceTrapObjects 8 }

    zxAnIfAccessSelfLoopCleardTrap NOTIFICATION-TYPE
        OBJECTS { ifIndex ,zxAnIfLoopBackStatus}
        STATUS  current
        DESCRIPTION
            "SelfLoop failure has been cleared."
        ::= { zxAnInterfaceTrapObjects 9 }
        
    zxAnIfMacDriftTrap NOTIFICATION-TYPE
        OBJECTS { ifIndex, zxAnDriftMac, zxAnDriftVlan, zxAnUplinkIfindex,zxAnDriftMacStatus }
        STATUS  current
        DESCRIPTION
            "Mac draft of access link interface has been found.
            Varible ifIndex indicates which access link interface has MAC draft."
        ::= { zxAnInterfaceTrapObjects 10 }

    zxAnIfMacDriftCleardTrap NOTIFICATION-TYPE
        OBJECTS { ifIndex, zxAnDriftMac, zxAnDriftVlan, zxAnUplinkIfindex,zxAnDriftMacStatus }
        STATUS  current
        DESCRIPTION
            "MAC drift has been cleared."
        ::= { zxAnInterfaceTrapObjects 11 }  
        
    zxAnIfSignalDegrade NOTIFICATION-TYPE
        OBJECTS { ifIndex }
        STATUS  current
        DESCRIPTION
            "The interface signal degrade."
        ::= { zxAnInterfaceTrapObjects 12 }

    zxAnIfSignalDegradeCleard NOTIFICATION-TYPE
        OBJECTS { ifIndex }
        STATUS  current
        DESCRIPTION
            "The interface signal degrade cleared."
        ::= { zxAnInterfaceTrapObjects 13 }

--------------------------------------------------------------------------------
-- 30.2 Ethernet-like interface FCS threshold trap
--------------------------------------------------------------------------------
    
    zxAnEtherIf15minFcsErrsThreshAlm NOTIFICATION-TYPE
        OBJECTS { zxAnEtherIfStat15minFCSErrors,zxAnEtherIf15minFcsErrsThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that ZxAnEtherIfStat15minFCSErrors exceeds the threshold 
             zxAnEtherIf15minFcsErrsThresh."
        ::= { zxAnInterfaceTrapObjects 20 }

    zxAnEtherIf15minFcsErrsThAlmClr NOTIFICATION-TYPE
        OBJECTS { zxAnEtherIfStat15minFCSErrors,zxAnEtherIf15minFcsErrsThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that ZxAnEtherIfStat15minFCSErrors is below the threshold 
             zxAnEtherIf15minFcsErrsThresh."
        ::= { zxAnInterfaceTrapObjects 21 }

    zxAnEtherIf1dayFcsErrsThreshAlm NOTIFICATION-TYPE
        OBJECTS { zxAnEtherIfStat1dayFCSErrors, zxAnEtherIf1dayFcsErrsThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that ZxAnEtherIfStat1dayFCSErrors exceeds the threshold 
             zxAnEtherIf1dayFcsErrsThresh."
        ::= { zxAnInterfaceTrapObjects 22 }

    zxAnEtherIf1dayFcsErrsThAlmClr NOTIFICATION-TYPE
        OBJECTS { zxAnEtherIfStat1dayFCSErrors, zxAnEtherIf1dayFcsErrsThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that ZxAnEtherIfStat1dayFCSErrors is below  the threshold 
             zxAnEtherIf1dayFcsErrsThresh."
        ::= { zxAnInterfaceTrapObjects 23 }
        
    zxAnEtherIfOutBwUtilThreshAlarm NOTIFICATION-TYPE
        OBJECTS { zxAnEtherIfOutBandwidthUtil, zxAnEtherIfOutBwUtilThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnEtherIfOutBandwidthUtil exceeds the threshold 
             zxAnEtherIfOutBwUtilThresh."
        ::= { zxAnInterfaceTrapObjects 24 }

    zxAnEtherIfOutBwUtilThrAlmClr NOTIFICATION-TYPE
        OBJECTS { zxAnEtherIfOutBandwidthUtil, zxAnEtherIfOutBwUtilThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnEtherIfOutBandwidthUtil is below  the threshold 
             zxAnEtherIfOutBwUtilThresh."
        ::= { zxAnInterfaceTrapObjects 25 }
        
    zxAnEtherIfInBwUtilThreshAlarm NOTIFICATION-TYPE
        OBJECTS { zxAnEtherIfInBandwidthUtil, zxAnEtherIfInBandwidthUtilThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnEtherIfInBandwidthUtil exceeds the threshold 
             zxAnEtherIfInBandwidthUtilThresh."
        ::= { zxAnInterfaceTrapObjects 26 }

    zxAnEtherIfInBwUtilThrAlmClr NOTIFICATION-TYPE
        OBJECTS { zxAnEtherIfInBandwidthUtil, zxAnEtherIfInBandwidthUtilThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnEtherIfInBandwidthUtil is below  the threshold 
             zxAnEtherIfInBandwidthUtilThresh."
        ::= { zxAnInterfaceTrapObjects 27 }
        
    zxAnOptPwrRxUnderThreshAlarm NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalPowerRxCurrValue, zxAnOpticalPowerRxLowerThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnOpticalPowerRxCurrValue is below  
            the zxAnOpticalPowerRxLowerThresh."
        ::= { zxAnInterfaceTrapObjects 70}
        
    zxAnOptPwrRxUnderThreshAlmClr NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalPowerRxCurrValue , zxAnOpticalPowerRxLowerThresh}
        STATUS  current
        DESCRIPTION
            " zxAnOptPwrRxUnderThreshAlarm clear"
        ::= { zxAnInterfaceTrapObjects 71 }        

    zxAnOptPwrRxOverThreshAlarm NOTIFICATION-TYPE
        OBJECTS { zxAnOpticalPowerRxCurrValue, zxAnOpticalPowerRxUpperThresh}
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnOpticalPowerRxCurrValue is exceeds  
            the zxAnOpticalPowerRxUpperThresh."
        ::= { zxAnInterfaceTrapObjects 72 }

    zxAnOptPwrRxOverThreshAlmClr NOTIFICATION-TYPE
        OBJECTS { zxAnOpticalPowerRxCurrValue, zxAnOpticalPowerRxUpperThresh}
        STATUS  current
        DESCRIPTION
            " zxAnOptPwrRxOverThreshAlarm clear."
        ::= { zxAnInterfaceTrapObjects 73 }
        

    zxAnOptPwrTxUnderThreshAlarm NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalPowerTxCurrValue, zxAnOpticalPowerTxLowerThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnOpticalPowerTxCurrValue is below  
            the zxAnOpticalPowerTxLowerThresh."
        ::= { zxAnInterfaceTrapObjects 74}
        
    zxAnOptPwrTxUnderThrAlmClr NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalPowerTxCurrValue , zxAnOpticalPowerTxLowerThresh}
        STATUS  current
        DESCRIPTION
            " zxAnOptPwrTxUnderThreshAlarm clear"
        ::= { zxAnInterfaceTrapObjects 75}        

    zxAnOptPwrTxOverThreshAlarm NOTIFICATION-TYPE
        OBJECTS { zxAnOpticalPowerTxCurrValue, zxAnOpticalPowerTxUpperThresh}
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnOpticalPowerTxCurrValue is exceeds  
            the zxAnOpticalPowerTxUpperThresh."
        ::= { zxAnInterfaceTrapObjects 76 }

    zxAnOptPwrTxOverThreshAlmClr NOTIFICATION-TYPE
        OBJECTS { zxAnOpticalPowerTxCurrValue, zxAnOpticalPowerTxUpperThresh}
        STATUS  current
        DESCRIPTION
            " zxAnOptPwrTxOverThreshAlarm clear."
        ::= { zxAnInterfaceTrapObjects 77 }     
        
    zxAnEthIf1SecFcsErrsThreshAlm NOTIFICATION-TYPE
        OBJECTS { zxAnEthIfStat1SecFcsErrs, zxAnEthIfStat1SecFcsErrsThresh}
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnEthIfStat1SecFcsErrs exceeds 
            the threshold zxAnEthIfStat1SecFcsErrsThresh."
        ::= { zxAnInterfaceTrapObjects 78 }         
     
    zxAnEthIf1SecFcsErrsThrshAlmClrd NOTIFICATION-TYPE
        OBJECTS { zxAnEthIfStat1SecFcsErrs, zxAnEthIfStat1SecFcsErrsThresh}
        STATUS  current
        DESCRIPTION
            " zxAnEthIf1SecFcsErrsThreshAlm clear."
        ::= { zxAnInterfaceTrapObjects 79 }    
        
    zxAnOptUnderCurrent NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalBiasCurrent, zxAnOpticalBiasCurrLowerThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnOpticalBiasCurrent 
               is below the zxAnOpticalBiasCurrLowerThresh."
        ::= { zxAnInterfaceTrapObjects 80}
        
    zxAnOptUnderCurrentClr NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalBiasCurrent, zxAnOpticalBiasCurrLowerThresh}
        STATUS  current
        DESCRIPTION
            " zxAnOptBiasCurrUnderThreshAlm clear."
        ::= { zxAnInterfaceTrapObjects 81 }            
        
    zxAnOptOverCurrent NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalBiasCurrent, zxAnOpticalBiasCurrUpperThresh }
        STATUS  current
        DESCRIPTION
            "It indicates that zxAnOpticalBiasCurrent 
               is over the zxAnOpticalBiasCurrUpperThresh."
        ::= { zxAnInterfaceTrapObjects 82}
        
    zxAnOptOverCurrentClr NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalBiasCurrent, zxAnOpticalBiasCurrUpperThresh}
        STATUS  current
        DESCRIPTION
            " zxAnOptOverCurrent clear."
        ::= { zxAnInterfaceTrapObjects 83 }       
        
    zxAnOptUnderVoltage NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalSupplyVoltage, zxAnOpticalVoltageLowerThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnOpticalSupplyVoltage is below 
              the zxAnOpticalVoltageLowerThresh."
        ::= { zxAnInterfaceTrapObjects 84}
        
    zxAnOptUnderVoltageClr NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalSupplyVoltage, zxAnOpticalVoltageLowerThresh}
        STATUS  current
        DESCRIPTION
            " zxAnOptUnderVoltage clear."
        ::= { zxAnInterfaceTrapObjects 85 }            
        
    zxAnOptOverVoltage NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalSupplyVoltage, zxAnOpticalVoltageUpperThresh}
        STATUS  current
        DESCRIPTION
            "It indicates that zxAnOpticalSupplyVoltage 
             is over the zxAnOpticalVoltageUpperThresh."
        ::= { zxAnInterfaceTrapObjects 86}
        
    zxAnOptOverVoltageClr NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalSupplyVoltage, zxAnOpticalVoltageUpperThresh}
        STATUS  current
        DESCRIPTION
            " zxAnOptOverVoltage clear."
        ::= { zxAnInterfaceTrapObjects 87 }               
        
    zxAnOptLowTemperatureAlarm NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalTemperature, zxAnOpticalTempLowerThresh }
        STATUS  current
        DESCRIPTION
            " It indicates that zxAnOpticalTemperature is below 
              the zxAnOpticalTempLowerThresh."
        ::= { zxAnInterfaceTrapObjects 88}

    zxAnOptLowTemperatureAlarmClr NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalTemperature, zxAnOpticalTempLowerThresh}
        STATUS  current
        DESCRIPTION
            " zxAnOptLowTemperatureAlarm clear."
        ::= { zxAnInterfaceTrapObjects 89 }            
        
    zxAnOptHighTemperatureAlarm NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalTemperature, zxAnOpticalTempUpperThresh}
        STATUS  current
        DESCRIPTION
            "It indicates that zxAnOpticalTemperature is over 
             the zxAnOpticalTempUpperThresh."
        ::= { zxAnInterfaceTrapObjects 90}
        
    zxAnOptHighTemperatureAlarmClr NOTIFICATION-TYPE
        OBJECTS {zxAnOpticalTemperature, zxAnOpticalTempUpperThresh}
        STATUS  current
        DESCRIPTION
            " zxAnOptHighTemperatureAlarm clear."
        ::= { zxAnInterfaceTrapObjects 91 }   
        
    zxAnIfAccessLinkDownClr  NOTIFICATION-TYPE
        OBJECTS 
        { 
            ifAdminStatus,
            ifOperStatus,
            ifType 
        }
        STATUS  current
        DESCRIPTION
            "The operational status of access link interface changes to up."
        ::= { zxAnInterfaceTrapObjects 92 }

    zxAnIfAccessLinkDownAlm  NOTIFICATION-TYPE
        OBJECTS
        {
            ifAdminStatus,
            ifOperStatus,
            ifType
        }
        STATUS  current
        DESCRIPTION
            "The operational status of access link interface changes to down."
        ::= { zxAnInterfaceTrapObjects 93 }
END

