-- File Name : ZTE-DSL-SRVCTRL-MIB.mi2
-- Date      : Mon Oct 17 14:13:24 GMT+08:00 2005
-- Author    : AdventNet Agent Toolkit C Edition - MibEditor 6

--
-- Zte Dsl SRV-CTRL Ext Mib 
-- 
-- 

ZTE-DSL-SRVCTRL-MIB    DEFINITIONS ::= BEGIN
    IMPORTS
        RowStatus, DisplayString,MacAddress,TEXTUAL-CONVENTION
            FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP
            FROM SNMPv2-CONF
        dot1dBasePort
                        FROM BRIDGE-MIB
                ifIndex
                        FROM IF-MIB
        MODULE-IDENTITY, OBJECT-TYPE,IpAddress, TimeTicks, Counter32, Gauge32,
        Integer32, NOTIFICATION-TYPE, Unsigned32, enterprises
            FROM SNMPv2-SMI
--        dsx1LineIndex
--            FROM DS1-MIB
        adslLineConfProfileName, adslLineConfProfileEntry, adslLineAlarmConfProfileEntry
            FROM ADSL-LINE-MIB
        SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
        PortList
            FROM Q-BRIDGE-MIB
        InetAddress, InetAddressPrefixLength           
            FROM INET-ADDRESS-MIB;

    zte    OBJECT IDENTIFIER
        ::=  {  enterprises  3902  }

    zxDsl    OBJECT IDENTIFIER
        ::=  {  zte  1004  }
        
    zxDslSrvctrlMib   MODULE-IDENTITY
        LAST-UPDATED    "200510080948Z"
        ORGANIZATION    "zte dsl product line"
        CONTACT-INFO    "ma ke
                  Mail: ma.ke@zte.com.cn
                  Tel : 021-68896477"
        DESCRIPTION        "This mib defines SRV CTRL mo (managed object ) for adsl2,
                 adsl+ and dsl loop test.
                 
                 Naming Conventions:
                 Atuc -- (ATUC) modem at near (Central) end of line
                 Atur -- (ATUR) modem at Remote end of line"
        ::=  {  zxDsl  7  }
    
    zxDslSrvctrlObjects    OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlMib  1  }

    zxDslSrvctrlTrapObjects    OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlMib  2  }    

    zxDslSrvctrlTrapBindVar    OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlMib  3  }    
            
    zxDslMacLockTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslMacLockEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "The (conceptual) listing  of zxDsl system mac address lock table."
        ::=  { zxDslSrvctrlObjects  1 }

    zxDslMacLockEntry    OBJECT-TYPE
        SYNTAX        ZxDslMacLockEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An entry (conceptual) listing  of zxDsl system mac address lock table."
        INDEX        {  ifIndex, zxDslMacLockMacAddr, zxDslMacLockVid  }
        ::=  { zxDslMacLockTable 1 }

    ZxDslMacLockEntry  ::=  SEQUENCE {
            zxDslMacLockMacAddr  MacAddress,
        zxDslMacLockVid  INTEGER,
        zxDslMacLockRowStatus  RowStatus
        }

    zxDslMacLockMacAddr    OBJECT-TYPE    
        SYNTAX            MacAddress
        MAX-ACCESS  not-accessible
        STATUS            current
        DESCRIPTION        "zxdsl mac address of maclock."
        ::=  {  zxDslMacLockEntry  1  }


    zxDslMacLockVid    OBJECT-TYPE    
        SYNTAX            INTEGER (1..4094)
        MAX-ACCESS  not-accessible
        STATUS            current
        DESCRIPTION        "zxDsl vlan id of  maclock."
        ::=  {  zxDslMacLockEntry  2  }


    zxDslMacLockRowStatus    OBJECT-TYPE    
        SYNTAX            RowStatus  { active ( 1 ) , notInService ( 2 ) , notReady ( 3 ) , createAndGo ( 4 ) , createAndWait ( 5 ) , destroy ( 6 ) } 
        MAX-ACCESS  read-create
        STATUS            current
        DESCRIPTION        "This object indicates the status of this entry."
        ::=  {  zxDslMacLockEntry  3  }

    zxDslStaticMacTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslStaticMacEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "The (conceptual) table listing  of zxDsl system port static learn mac address."
        ::=  { zxDslSrvctrlObjects  2 }

    zxDslStaticMacEntry    OBJECT-TYPE
        SYNTAX        ZxDslStaticMacEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An entry (conceptual) table listing  of zxDsl system port static learn mac address."
        INDEX        {  ifIndex, zxDslStaticMacAddr, zxDslStaticMacVid  }
        ::=  { zxDslStaticMacTable 1 }

    ZxDslStaticMacEntry  ::=  SEQUENCE {
        zxDslStaticMacAddr  MacAddress,
        zxDslStaticMacVid  Integer32,
        zxDslStaticMacPvcId    INTEGER,
        zxDslStaticMacTagflag  INTEGER,
        zxDslStaticMacRowStatus  RowStatus
        }

    zxDslStaticMacAddr    OBJECT-TYPE    
        SYNTAX            MacAddress
        MAX-ACCESS  not-accessible
        STATUS            current
        DESCRIPTION        "port static learn mac address."
        ::=  {  zxDslStaticMacEntry  1  }

    zxDslStaticMacVid    OBJECT-TYPE    
        SYNTAX            Integer32
        MAX-ACCESS  not-accessible
        STATUS            current
        DESCRIPTION        "vlan id of add static mac."
        ::=  {  zxDslStaticMacEntry  2  }

    zxDslStaticMacPvcId    OBJECT-TYPE    
        SYNTAX            INTEGER
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "pvc id of add static mac."
        ::=  {  zxDslStaticMacEntry  3  }
    
    zxDslStaticMacTagflag    OBJECT-TYPE    
        SYNTAX            INTEGER  { tag ( 1 ) , untag ( 2 ) , all ( 3 ) } 
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "port static learn mac address with frame type."
        ::=  {  zxDslStaticMacEntry  4  }

    zxDslStaticMacRowStatus    OBJECT-TYPE    
        SYNTAX            RowStatus  { active ( 1 ) , notInService ( 2 ) , notReady ( 3 ) , createAndGo ( 4 ) , createAndWait ( 5 ) , destroy ( 6 ) } 
        MAX-ACCESS  read-create
        STATUS            current
        DESCRIPTION        "This object indicates the status of this entry."
        ::=  {  zxDslStaticMacEntry  5  }
        
        
    zxDslIpLockTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslIpLockEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "The (conceptual) listing  of zxDsl system mac address lock table."
        ::=  { zxDslSrvctrlObjects  3 }

    zxDslIpLockEntry    OBJECT-TYPE
        SYNTAX        ZxDslIpLockEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An entry (conceptual) listing  of zxDsl system mac address lock table."
        INDEX        {  ifIndex, zxDslIpLockIpAddr  }
        ::=  { zxDslIpLockTable 1 }

    ZxDslIpLockEntry  ::=  SEQUENCE {            
        zxDslIpLockIpAddr  IpAddress,
        zxDslIpLockRowStatus  RowStatus
        }
            
    zxDslIpLockIpAddr    OBJECT-TYPE    
        SYNTAX            IpAddress
        MAX-ACCESS  not-accessible
        STATUS            current
        DESCRIPTION        "zxDsl vlan id of  iplock."
        ::=  {  zxDslIpLockEntry  1  }

    zxDslIpLockRowStatus    OBJECT-TYPE    
        SYNTAX            RowStatus  { active ( 1 ) , notInService ( 2 ) , notReady ( 3 ) , createAndGo ( 4 ) , createAndWait ( 5 ) , destroy ( 6 ) } 
        MAX-ACCESS  read-create
        STATUS            current
        DESCRIPTION        "This object indicates the status of this entry."
        ::=  {  zxDslIpLockEntry  2  }
        
    
    zxDslExtIfTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslExtIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An (conceptual) table listing  of zxDsl system interface extend attribute."
        ::=  { zxDslSrvctrlObjects  4 }

    zxDslExtIfEntry    OBJECT-TYPE
        SYNTAX        ZxDslExtIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An entry (conceptual) table listing  of zxDsl system interface extend attribute."
        INDEX        {  ifIndex  }
        ::=  { zxDslExtIfTable 1 }

    ZxDslExtIfEntry  ::=  SEQUENCE {
        zxDslExtIfFlowCtrlSet                     INTEGER,
        zxDslExtIfFlowCtrlGet                     INTEGER,
        zxDslExtIfSpeedSet                        INTEGER,
        zxDslExtIfSpeedGet                        INTEGER,
        zxDslExtIfDuplexSet                       INTEGER,
        zxDslExtIfDuplexGet                       INTEGER,
        zxDslExtIfMaxMacLearn                     Integer32,
        zxDslExtIfBroadcastRatelimit              Unsigned32,
        zxDslExtIfMulticastRatelimit              Unsigned32,
        zxDslExtIfDlfRatelimit                    Unsigned32,
        zxDslExtIfLinkErrors                      Unsigned32,
        zxDslExtIfInterTag                        Unsigned32,
        zxDslExtIfBoardcastEnable                 INTEGER,
        zxDslExtIfMulticastEnable                 INTEGER,
        zxDslExtIfDlfEnable                       INTEGER,
        zxDslExtIfDhcpRatelimit                   Unsigned32,
        zxDslExtIfUserInfoUserName                DisplayString,
        zxDslExtIfUserInfoUserAddress             DisplayString,
        zxDslExtIfUserInfoUserServiceConfigured   DisplayString,
        zxDslExtIfUserInfoUserOtherNode           DisplayString,
        zxDslExtIfPoeStatus                       INTEGER,
        zxDslExtIfPoeEnable                       INTEGER,
        zxDslExtIfDhcpv6RateLimit                 Unsigned32,
        zxDslExtIfIcmpV6RateLimit                 Unsigned32
        }


    zxDslExtIfFlowCtrlSet    OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                autoFlowControlEnable(1),
                forceFlowControlEnable(2),
                autoFlowControlDisable(3),
                forceFlowControlDisable(4)
            } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Flow control status."
        ::=  {  zxDslExtIfEntry  1  }


    zxDslExtIfFlowCtrlGet    OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                autoFlowControlEnable(1),
                forceFlowControlEnable(2),
                autoFlowControlDisable(3),
                forceFlowControlDisable(4)
            } 
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Actual flow control status."
        ::=  {  zxDslExtIfEntry  2  }

    zxDslExtIfSpeedSet    OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                autoSpeed(1),
                speed10M(2),
                speed100M(3),
                speed1000M(4)
            } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Speed status."
        ::=  {  zxDslExtIfEntry  3  }

    zxDslExtIfSpeedGet    OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                autoSpeed(1),
                speed10M(2),
                speed100M(3),
                speed1000M(4)
            } 
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Actual speed status."
        ::=  {  zxDslExtIfEntry  4  }

    zxDslExtIfDuplexSet    OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                autoDuplex(1),
                half(2),
                full(3)
            } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Duplex status."
        ::=  {  zxDslExtIfEntry  5  }

    zxDslExtIfDuplexGet    OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                autoDuplex(1),
                half(2),
                full(3)
            } 
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Actual duplex status."
        ::=  {  zxDslExtIfEntry  6  }

    zxDslExtIfMaxMacLearn    OBJECT-TYPE    
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     
            "The max mac address is learned on this port.
             0 means no limit, and 0xFFFF means disable mac learn for this port.
            "
        ::=  {  zxDslExtIfEntry  7  }

    zxDslExtIfBroadcastRatelimit    OBJECT-TYPE    
        SYNTAX          Unsigned32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     
            "CSC GE Port :    0~(2048*1024 - 1)pps(package/s)
             EIN Port :       0~(256*1024 - 1)(package/s)  
             User card slot : 0~(2048*1024 - 1)(package/s)."
        ::=  {  zxDslExtIfEntry  8  }

    zxDslExtIfMulticastRatelimit    OBJECT-TYPE    
        SYNTAX          Unsigned32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION    
            "CSC GE Port :    0~(2048*1024 - 1)pps(package/s)
             EIN Port :       0~(256*1024 - 1)(package/s)  
             User card slot : 0~(2048*1024 - 1)(package/s)."
        ::=  {  zxDslExtIfEntry  9  }

    zxDslExtIfDlfRatelimit    OBJECT-TYPE    
        SYNTAX          Unsigned32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     
            "CSC GE Port :    0~(2048*1024 - 1)pps(package/s)
             EIN Port :       0~(256*1024 - 1)(package/s) 
             User card slot : 0~(2048*1024 - 1)(package/s)
             dlf:Destination Loation Fail."
        ::=  {  zxDslExtIfEntry  10  }

    zxDslExtIfLinkErrors    OBJECT-TYPE    
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     
            "The number of link disconnect on this interface."
        ::=  {  zxDslExtIfEntry  11  }
        
    zxDslExtIfInterTag    OBJECT-TYPE    
        SYNTAX          Unsigned32  ( 0 .. 4294967295  ) 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     
            "Config the SVLAN port inner tag."
        ::=  {  zxDslExtIfEntry  12  }
        
    zxDslExtIfBoardcastEnable     OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                enable(1),
                disable(2)
            } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION  
            "Broadcast control of the port."
        ::=  {  zxDslExtIfEntry  13  }
    
    zxDslExtIfMulticastEnable     OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                enable(1),
                disable(2)
            } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Multicast control of the port."
        ::=  {  zxDslExtIfEntry  14  }
    
    zxDslExtIfDlfEnable        OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                enable(1),
                disable(2)
            } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION   
            "Unknown unicast control of the port."
        ::=  {  zxDslExtIfEntry 15  }

    zxDslExtIfDhcpRatelimit        OBJECT-TYPE    
        SYNTAX          Unsigned32
        UNITS           "pps"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     
            "Rate limit of DHCPv6 packet."
        ::=  {  zxDslExtIfEntry 16  }
        
    zxDslExtIfUserInfoUserName     OBJECT-TYPE 
        SYNTAX          DisplayString (SIZE (0..32))
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION  
            "Config the user name."
        ::= {  zxDslExtIfEntry 17 }

    zxDslExtIfUserInfoUserAddress     OBJECT-TYPE 
        SYNTAX          DisplayString (SIZE (0..64))
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION  
            "Config the user address."
        ::= {  zxDslExtIfEntry 18 }
  
    zxDslExtIfUserInfoUserServiceConfigured     OBJECT-TYPE 
        SYNTAX          DisplayString (SIZE (0..32))
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION  
            "Config the user service type."
        ::= {  zxDslExtIfEntry 19 }
        
    zxDslExtIfUserInfoUserOtherNode     OBJECT-TYPE 
        SYNTAX          DisplayString (SIZE (0..128))
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION  
            "Config the user other information."
        ::= {  zxDslExtIfEntry 20 }
        
    zxDslExtIfPoeStatus     OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                up(1),
                down(2)
            } 
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION   
            "Actual PoE Status of the port."
        ::=  {  zxDslExtIfEntry  21  }
        
    zxDslExtIfPoeEnable        OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION   
            "PoE Control of the port."
        ::=  {  zxDslExtIfEntry 22  }
      
    zxDslExtIfDhcpv6RateLimit  OBJECT-TYPE    
        SYNTAX          Unsigned32(0..2048)
        UNITS           "pps"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION    
            "Rate limit of DHCPv6 packet.
             Value 0 means DHCPv6 packet rate is not limited.
            "
        DEFVAL  {  16  }
        ::=  {  zxDslExtIfEntry 23  }
    
    zxDslExtIfIcmpv6RateLimit  OBJECT-TYPE    
        SYNTAX          Unsigned32(0..2048)
        UNITS           "pps"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION    
            "Rate limit of ICMPv6 packet.
             Value 0 means ICMPv6 packet rate is not limited.
            "
        DEFVAL  {  16  }
        ::=  {  zxDslExtIfEntry 24  }  
   
    zxDslMacFilterTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslMacFilterEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "The (conceptual) listing  of zxDsl system mac address filter table."
        ::=  { zxDslSrvctrlObjects  5 }

    zxDslMacFilterEntry    OBJECT-TYPE
        SYNTAX        ZxDslMacFilterEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An entry (conceptual) listing  of zxDsl system mac address filter table."
        INDEX        {  ifIndex, zxDslMacFilterMacAddr }
        ::=  { zxDslMacFilterTable 1 }

    ZxDslMacFilterEntry  ::=  SEQUENCE {
        zxDslMacFilterMacAddr  MacAddress,
        zxDslMacFilterRowStatus  RowStatus
        }

    zxDslMacFilterMacAddr    OBJECT-TYPE    
        SYNTAX            MacAddress
        MAX-ACCESS  not-accessible
        STATUS            current
        DESCRIPTION        "zxdsl mac address of mac filter."
        ::=  {  zxDslMacFilterEntry  1  }
    
    zxDslMacFilterRowStatus    OBJECT-TYPE    
        SYNTAX            RowStatus  { active ( 1 ) , notInService ( 2 ) , notReady ( 3 ) , createAndGo ( 4 ) , createAndWait ( 5 ) , destroy ( 6 ) } 
        MAX-ACCESS  read-create
        STATUS            current
        DESCRIPTION        "This object indicates the status of this entry."
        ::=  {  zxDslMacFilterEntry  2  }    
                
                
        
        
    
    zxDslMacCtrlObjects    OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlObjects  9  }    
        
    zxDslMacCtrlGlobalObjects  OBJECT IDENTIFIER  
        ::= {zxDslMacCtrlObjects 1}        
    
    zxDslMacLearnType    OBJECT-TYPE    
        SYNTAX            INTEGER  { chip ( 1 ) ,  dslamSoftware( 2 ) } 
        MAX-ACCESS      read-write
        STATUS            current
        DESCRIPTION        "the mac learn type. 
           Different mac learn number supported for different learn types.
           chip(1): mac learn by chip hardware
           dslamSoftware(2): mac learn by dslam software
           "
        ::=  {  zxDslMacCtrlGlobalObjects  1  }        
    
    zxDslPredefMacForwardEnable    OBJECT-TYPE    
        SYNTAX          INTEGER  { enable ( 1 ) ,  disable( 2 ) } 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Enable or disable forwarding the predefined mac frame.
            The predefined mac is such as 01-80-C2-**-**-**."
        DEFVAL          { enable }  
        ::=  {  zxDslMacCtrlGlobalObjects  2  }        
                    
                
    zxDslMacClear OBJECT IDENTIFIER
        ::=  {  zxDslMacCtrlObjects  2  }
        
    zxDslMacClearType  OBJECT-TYPE    
        SYNTAX            INTEGER  { all ( 1 ) , mac ( 2 ), port ( 3 ), vlan ( 4 ), vlanOfMac ( 5 ) } 
        MAX-ACCESS      read-write
        STATUS            current
        DESCRIPTION        "The type of clear dynamic MAC."
        ::=  {  zxDslMacClear  1  }
        
    zxDslMacClearValue  OBJECT-TYPE    
        SYNTAX          DisplayString  ( SIZE ( 1 .. 64  ) ) 
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The value of clear dynamic MAC.
           For different zxDslMacClearType, the value has different meanings.  
           all(1):  useless
           mac(2):  it represents the MAC value to clear, and the separator is colon, such as 00:1E:90:3E:20:B6
           port(3): it means to clear all MAC of given port, the value is ifIndex of the port.
           vlan(4): it means to clear all MAC of given VLAN, the value is the VLAN ID(1 to 4094), such as 4093
           vlanOfMac(5): it means to clear the given MAC of the given VLAN, seperated by &, such as 4093&00:1E:90:3E:20:B6       
           "
        ::=  {  zxDslMacClear  2  }        
        
    zxDslMacAddressObject OBJECT IDENTIFIER
        ::=  {  zxDslMacCtrlObjects  3  }
    
    zxDslMacAddressTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslMacAddressEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "The listing of zxDsl mac address table."
        ::=  { zxDslMacAddressObject  1 }

    zxDslMacAddressEntry    OBJECT-TYPE
        SYNTAX        ZxDslMacAddressEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An entry listing  of zxDsl mac address table."
        INDEX        {  ifIndex }
        ::=  { zxDslMacAddressTable 1 }

    ZxDslMacAddressEntry  ::=  SEQUENCE {
        zxDslMacAddressList  OCTET STRING
        }
    
    zxDslMacAddressList    OBJECT-TYPE    
        SYNTAX            OCTET STRING (SIZE(0..1024))
        MAX-ACCESS      read-only
        STATUS            current
        DESCRIPTION        "
           The MAC address list of current port, The OCTET STRING contains pairs
           of values in the following structure:
           Octets 0&1 -- Port IfIndex.
           Octets 2-7 -- MAC address.
           Octets 8-9 -- VID
           Octets 10  -- PVC
           Octers 11  -- Type, 0 means static and 1 means dynamic.   
           Each entry need 12 octers, and the peak load is 85 entries, now only
           16 entry is used at most.
           "
        ::=  {  zxDslMacAddressEntry  1  }    
        
                
    zxDslMacAddressExtTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslMacAddressExtEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "The listing of zxDsl mac address extends table."
        ::=  { zxDslMacAddressObject  2 }

    zxDslMacAddressExtEntry    OBJECT-TYPE
        SYNTAX        ZxDslMacAddressExtEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An entry listing  of zxDsl mac address extends table."
        INDEX        {  ifIndex, zxDslMacAddressExtSeqId }
        ::=  { zxDslMacAddressExtTable 1 }

    ZxDslMacAddressExtEntry  ::=  SEQUENCE {
        zxDslMacAddressExtSeqId  Unsigned32,
        zxDslMacAddressExtList   OCTET STRING
        }
    
    zxDslMacAddressExtSeqId  OBJECT-TYPE    
        SYNTAX            Unsigned32
        MAX-ACCESS      not-accessible
        STATUS            current
        DESCRIPTION        "The sequence ID for getting mac address."
        ::=  {  zxDslMacAddressExtEntry  1  } 
        
    zxDslMacAddressExtList    OBJECT-TYPE    
        SYNTAX            OCTET STRING (SIZE(0..1024))
        MAX-ACCESS      read-only
        STATUS            current
        DESCRIPTION        "
           The MAC address list of current port, The OCTET STRING contains pairs
           of values in the following structure:
           Octets 0&1 -- Port IfIndex.
           Octets 2-7 -- MAC address.
           Octets 8-9 -- VID
           Octets 10  -- PVC
           Octers 11  -- Type, 0 means static and 1 means dynamic.   
           Each entry need 12 octers, and the peak load is 85 entries.
           "
        ::=  {  zxDslMacAddressExtEntry  2  }    
              
              
    zxDslVmacObjects OBJECT IDENTIFIER
        ::=  {  zxDslMacCtrlObjects  4  }
    
    zxDslVmacGlobalObjects  OBJECT IDENTIFIER  
        ::= {zxDslVmacObjects 1}        
                
    zxDslVmacDeviceId  OBJECT-TYPE    
        SYNTAX          INTEGER(0..524287)   
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     
            "The device ID is for MAC translation. 
             The value is between 0x00000 and 0x7FFFF."
        ::=  {  zxDslVmacGlobalObjects  1  } 
        
    zxDslVmacSysMac  OBJECT-TYPE    
        SYNTAX          MacAddress  
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     
            "The system MAC address for MAC translation."
        ::=  {  zxDslVmacGlobalObjects  2  } 
        
    zxDslVmacPortObject OBJECT IDENTIFIER
        ::=  {  zxDslVmacObjects  2  }

    zxDslVmacBrgPortTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslVmacBrgPortEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "The virtual MAC bridge port table."
        ::=  { zxDslVmacPortObject  1 }

    zxDslVmacBrgPortEntry    OBJECT-TYPE
        SYNTAX        ZxDslVmacBrgPortEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "The virtual MAC bridge port entry."
        INDEX        {  ifIndex, zxDslVmacBrgPortId }
        ::=  { zxDslVmacBrgPortTable 1 }

    ZxDslVmacBrgPortEntry  ::=  SEQUENCE {
        zxDslVmacBrgPortId       Integer32,
        zxDslVmacTranslateMode   INTEGER,
        zxDslVmacTranslateLimit  INTEGER        
        }        
    
    zxDslVmacBrgPortId  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A unique value for the bridge port of a physical port.If the 
             bridge port is just a pvc, then this value is pvcId or pvcNo."
        ::= { zxDslVmacBrgPortEntry 1 }
    
    zxDslVmacTranslateMode    OBJECT-TYPE    
        SYNTAX          INTEGER
            {
                disable(1),
                nToOne(2),
                oneToOneFromMacPool(3),
                oneToOneFromMappingRule(4)
            }
        MAX-ACCESS      read-write
        STATUS          current 
        DESCRIPTION     "The virtual MAC translation mode."
        DEFVAL          { disable }     
        ::=  {  zxDslVmacBrgPortEntry  2  }         
              
    zxDslVmacTranslateLimit    OBJECT-TYPE
        SYNTAX          INTEGER(1..16)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The virtual MAC translation limit."
        DEFVAL          { 4 }     
        ::=  {  zxDslVmacBrgPortEntry  3  }        
                
    
    zxDslVmacTranslateTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslVmacTranslateEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "The vritual MAC translation table."
        ::=  { zxDslVmacPortObject  2 }

    zxDslVmacTranslateEntry    OBJECT-TYPE
        SYNTAX        ZxDslVmacTranslateEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "The virtual MAC translation entry."
        INDEX        
            {
                ifIndex,
                zxDslVmacTranslateBrgPortId,
                zxDslVmacTranslateUserMac
            }
        ::=  { zxDslVmacTranslateTable 1 }

    ZxDslVmacTranslateEntry  ::=  SEQUENCE {
        zxDslVmacTranslateBrgPortId     Integer32,        
        zxDslVmacTranslateUserMac       MacAddress,
        zxDslVmacTranslateSysMac        MacAddress        
        }        
    
    zxDslVmacTranslateBrgPortId  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A unique value for the bridge port of a physical port.If the 
             bridge port is just a pvc,then this value is pvcId or pvcNo."
        ::= { zxDslVmacTranslateEntry 1 }
    
    zxDslVmacTranslateUserMac  OBJECT-TYPE    
        SYNTAX            MacAddress
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION       "The user MAC address to be translated."
        ::=  {  zxDslVmacTranslateEntry  2  }

    zxDslVmacTranslateSysMac     OBJECT-TYPE
        SYNTAX            MacAddress
        MAX-ACCESS        read-only
        STATUS            current
        DESCRIPTION       "The system MAC address."
        ::=  {  zxDslVmacTranslateEntry  3  }            
    
    zxDslPvlan    OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlObjects  10  }

    zxDslUpLinkPortList    OBJECT-TYPE    
        SYNTAX            PortList
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "the pvlan uplink port list."
        ::=  {  zxDslPvlan  1  }

    zxDslpvlanStatus    OBJECT-TYPE    
        SYNTAX            INTEGER  { enable ( 1 ) , disable ( 2 ) } 
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "the status of pvlan for the zxdsl."
        ::=  {  zxDslPvlan  2  }

    zxDslPvlanPortTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslPvlanPortEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "A table of pvlan table."
        ::=  { zxDslPvlan  3 }

    zxDslPvlanPortEntry    OBJECT-TYPE
        SYNTAX        ZxDslPvlanPortEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An entry of pvlan table."
        INDEX        {  ifIndex  }
        ::=  { zxDslPvlanPortTable 1 }

    ZxDslPvlanPortEntry  ::=  SEQUENCE {
        zxDslPvlanPortInterList  PortList,
        zxDslPvlanPortAction  INTEGER
        }


    zxDslPvlanPortInterList    OBJECT-TYPE    
        SYNTAX            PortList
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "the port list interconnected with each ."
        ::=  {  zxDslPvlanPortEntry  2  }


    zxDslPvlanPortAction    OBJECT-TYPE    
        SYNTAX            INTEGER  { enable ( 1 ) , disable ( 2 ) } 
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "enable/disable the interconnection"
        ::=  {  zxDslPvlanPortEntry  3  }
    
    zxDslCPvlanTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslCPvlanEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "A table of cpvlan status control table."
        ::=  { zxDslPvlan  4 }

    zxDslCPvlanEntry    OBJECT-TYPE
        SYNTAX        ZxDslCPvlanEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An entry of cpvlan status control table."
        INDEX        {  zxDslCPvlanVid  }
        ::=  { zxDslCPvlanTable 1 }
        
    ZxDslCPvlanEntry  ::=  SEQUENCE {
        zxDslCPvlanVid        INTEGER,
        zxDslCPvlanStatus     INTEGER
        }

    zxDslCPvlanVid    OBJECT-TYPE    
        SYNTAX            INTEGER
        MAX-ACCESS  not-accessible
        STATUS            current
        DESCRIPTION        "the vlan_id index."
        ::=  {  zxDslCPvlanEntry  1  }

    zxDslCPvlanStatus    OBJECT-TYPE    
        SYNTAX            INTEGER     { enable ( 1 ) , disable ( 2 ) } 
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "Cpvlan status in this vlan."
        ::=  {  zxDslCPvlanEntry  2  }
    
    zxDslSrvctrlGlobal   OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlObjects  11  }

    zxDslBoardcastRateLimit     OBJECT-TYPE    
        SYNTAX            INTEGER
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "the global boardcast rate limit."
        ::=  {  zxDslSrvctrlGlobal  1  }
    
    zxDslMulticastRateLimit     OBJECT-TYPE    
        SYNTAX            INTEGER
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "the global multicast rate limit."
        ::=  {  zxDslSrvctrlGlobal  2  }
    
    zxDslDlfRateLimit     OBJECT-TYPE    
        SYNTAX            INTEGER
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "the global unknown unicast rate limit."
        ::=  {  zxDslSrvctrlGlobal  3  }
    
    zxDslBoardcastEnalbed     OBJECT-TYPE    
        SYNTAX            INTEGER{ enable ( 1 ) , disable ( 2 ) } 
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "the global boardcast control."
        ::=  {  zxDslSrvctrlGlobal  4  }
    
    zxDslMulticastEnalbed     OBJECT-TYPE    
        SYNTAX            INTEGER{ enable ( 1 ) , disable ( 2 ) } 
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "the global multicast control."
        ::=  {  zxDslSrvctrlGlobal  5  }
    
    zxDslDlfEnalbed        OBJECT-TYPE    
        SYNTAX            INTEGER{ enable ( 1 ) , disable ( 2 ) } 
        MAX-ACCESS  read-write
        STATUS            current
        DESCRIPTION        "the global unknown unicast control."
        ::=  {  zxDslSrvctrlGlobal  6  }


    
    zxDslAntiMacSpoofEnable        OBJECT-TYPE    
        SYNTAX            INTEGER{ enable ( 1 ) , disable ( 2 ) } 
        MAX-ACCESS      read-write
        STATUS            current
        DESCRIPTION        "Anti Mac spoofing control."
        ::=  {  zxDslSrvctrlGlobal  7  }


    
    zxDslEthMgmtIfForwardToNetIf        OBJECT-TYPE    
        SYNTAX            INTEGER{ enable ( 1 ) , disable ( 2 ) } 
        MAX-ACCESS      read-write
        STATUS            current
        DESCRIPTION        "Forward traffic of ethernet management interface to 
            network interface.This function is used to forward traffic of 
            ethernet management interface for external devices to specific VLAN
            on the network interface."
        ::=  {  zxDslSrvctrlGlobal  8  }


    zxDslEthMgmtIfForwardVlan        OBJECT-TYPE    
        SYNTAX            INTEGER
        MAX-ACCESS      read-write
        STATUS            current
        DESCRIPTION        "The VLAN of network interface is used to collect 
            traffic from external devices via ethernet management interface ."
        ::=  {  zxDslSrvctrlGlobal  9  }


    zxDslVlanMode        OBJECT-TYPE    
        SYNTAX            INTEGER
                        {
                            traditionalVlan(1),
                            translatingVlan(2),
                            nToOneVlan(3)
                        }
        MAX-ACCESS      read-write
        STATUS            current
        DESCRIPTION        "The VLAN working mode."
        ::=  {  zxDslSrvctrlGlobal  10  }




    zxDslSrvMulticast   OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlObjects  12  }
        
    zxDslMvidTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslMvidEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "A table of vid for multicast pvc, 
                     the VLAN ID assigned to multicast frames received on this port."
        ::=  { zxDslSrvMulticast  1 }

    zxDslMvidEntry    OBJECT-TYPE
        SYNTAX        ZxDslMvidEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "An entry of zxDslMvidTable."
        INDEX        {  ifIndex, zxDslMvidBrgPortId }
        ::=  { zxDslMvidTable 1 }
        
    ZxDslMvidEntry  ::=  SEQUENCE {
        zxDslMvidBrgPortId        INTEGER,
        zxDslMvid                 INTEGER,
        zxDslMvidRowStatus        RowStatus
        }

    zxDslMvidBrgPortId OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A unique value for the bridge port of a physical port.If the 
            bridge port is just a pvc,then this value is pvcId or pvcNo."
        ::= { zxDslMvidEntry 1 }    
        
    zxDslMvid OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The Multicast Vlan Id."
        ::= { zxDslMvidEntry 2 }    

        zxDslMvidRowStatus  OBJECT-TYPE 
       SYNTAX          RowStatus
       MAX-ACCESS      read-create
       STATUS          current
       DESCRIPTION     "The row status of this entry."
       ::=  {  zxDslMvidEntry 10 }   
       
    zxDslServicePort  OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlObjects  13  }
        
    zxDslServicePortTable    OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxDslServicePortEntry
        MAX-ACCESS      not-accessible
        STATUS      current
        DESCRIPTION      "This table includes interface service port 
                  configuration."
        ::=  { zxDslServicePort  1 }

    zxDslServicePortEntry    OBJECT-TYPE
        SYNTAX      ZxDslServicePortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry of zxDslServicePortTable."
        INDEX    {  ifIndex, zxDslServicePortId }
        ::=  { zxDslServicePortTable 1 }
        
    ZxDslServicePortEntry  ::=  SEQUENCE {
        zxDslServicePortId                   INTEGER,
            zxDslServicePortDesc                 DisplayString,
            zxDslServicePortServiceMode          BITS,
            zxDslServicePortPvc                  INTEGER, 
            zxDslServicePortVlan                 INTEGER,
            zxDslServicePortPriority             INTEGER,
            zxDslServicePortEthType              INTEGER,    
            zxDslServicePortCustomizedEthType    INTEGER,    
        zxDslServicePortRowStatus            RowStatus 
        }  
        
        zxDslServicePortId OBJECT-TYPE
            SYNTAX      INTEGER 
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                "Service port ID under a port."
            ::= { zxDslServicePortEntry 1 }        
        
        zxDslServicePortDesc OBJECT-TYPE
            SYNTAX      DisplayString (SIZE (0..32))
            MAX-ACCESS  read-create
            STATUS      current
            DESCRIPTION
                "The description of current service port."           
            ::= {  zxDslServicePortEntry 2 }   
        
        zxDslServicePortServiceMode  OBJECT-TYPE
            SYNTAX      BITS
            {
                pvc(0),    
                vlan(1),
                priority(2), 
                encapType(3)
            }
            MAX-ACCESS  read-create
            STATUS    current
            DESCRIPTION 
               "The service mode."
            ::={zxDslServicePortEntry 3}   
        
        zxDslServicePortPvc  OBJECT-TYPE
            SYNTAX    INTEGER(1..8)
            MAX-ACCESS  read-create
            STATUS    current
            DESCRIPTION  
               "Port pvc."
            DEFVAL      { 1 }      
            ::={zxDslServicePortEntry 4}
        
        zxDslServicePortVlan  OBJECT-TYPE
            SYNTAX    INTEGER(0..4094)
            MAX-ACCESS  read-create
            STATUS    current
            DESCRIPTION  
               "Port vlan,'0' indicates untag."
            DEFVAL      { 0 }      
            ::={zxDslServicePortEntry 5}
                                              
        zxDslServicePortPriority  OBJECT-TYPE
            SYNTAX    INTEGER(0..7)
            MAX-ACCESS  read-create
            STATUS    current
            DESCRIPTION  
                "Port priority,from 0 to 7."
            DEFVAL      { 0 }          
            ::={zxDslServicePortEntry 6}   
        
        zxDslServicePortEthType  OBJECT-TYPE
            SYNTAX      INTEGER
            {
                pppoe(1),    
                arp(2),
                ipoe(3), 
                ipoev6(4),
                customized(5)
            }            
            MAX-ACCESS  read-create
            STATUS    current
            DESCRIPTION  
                "Ether type."
            DEFVAL      { pppoe }          
            ::={zxDslServicePortEntry 7}   
            
        zxDslServicePortCustomizedEthType  OBJECT-TYPE
            SYNTAX      INTEGER
            MAX-ACCESS  read-create
            STATUS    current
            DESCRIPTION  
                "Custom defined Ether Type."         
            ::={zxDslServicePortEntry 8}             
             
        zxDslServicePortRowStatus OBJECT-TYPE
            SYNTAX      RowStatus
            MAX-ACCESS  read-create
            STATUS      current
            DESCRIPTION
                "This object indicates the status of this entry."
            ::= { zxDslServicePortEntry 50 }          

    zxDslNni  OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlObjects  14  }
        
    zxDslNniTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslNniEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION     
            "This table includes NNI configuration.
            "
        ::=  { zxDslNni  1 }
        
    zxDslNniEntry    OBJECT-TYPE
        SYNTAX      ZxDslNniEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry of zxDslNniTable."
        INDEX    {  ifIndex  }
        ::=  { zxDslNniTable 1 }   
        
    ZxDslNniEntry  ::=  SEQUENCE {
        zxDslNniTxOpticalPower        Integer32,
        zxDslNniRxOpticalPower        Integer32,
        zxDslNniOpticalTxBiasCurrent  Integer32,
        zxDslNniOpticalVoltage        Integer32,
        zxDslNniOpticalTemperature    Integer32
        }  
        
    zxDslNniTxOpticalPower OBJECT-TYPE
        SYNTAX      Integer32 
        UNITS       "0.001dbm"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transmitted optical power of NNI.
             This object is just used for optical uplink port."        
        ::= { zxDslNniEntry 1 }
    
    zxDslNniRxOpticalPower OBJECT-TYPE
        SYNTAX      Integer32 
        UNITS       "0.001dbm"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Received optical power of NNI.
             This object is just used for optical port."        
        ::= { zxDslNniEntry 2 }              

    zxDslNniOpticalTxBiasCurrent OBJECT-TYPE
        SYNTAX      Integer32 
        UNITS       "0.001uA"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Bias current of NNI.
             This object is just used for optical port."        
        ::= { zxDslNniEntry 3 }
     
    zxDslNniOpticalVoltage OBJECT-TYPE
        SYNTAX      Integer32 
        UNITS       "0.001V"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Voltage of NNI.
             This object is just used for optical port."        
        ::= { zxDslNniEntry 4 }  
        
    zxDslNniOpticalTemperature OBJECT-TYPE
        SYNTAX      Integer32 
        UNITS       "0.001centigrade"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Temperature of NNI.
             This object is just used for optical port."        
        ::= { zxDslNniEntry 5 }
         
    zxDslIpv6Objects  OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlObjects  15  }
        
    zxDslIpv6IpLockTable    OBJECT-TYPE
        SYNTAX        SEQUENCE  OF  ZxDslIpv6IpLockEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION    "The listing  of system ip address lock table."
        ::=  { zxDslIpv6Objects  1 }

    zxDslIpv6IpLockEntry    OBJECT-TYPE
        SYNTAX        ZxDslIpv6IpLockEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "An entry listing  of system ip address lock table."
        INDEX        {  ifIndex, zxDslIpv6IpLockIpAddr  }
        ::=  { zxDslIpv6IpLockTable 1 }

    ZxDslIpv6IpLockEntry  ::=  SEQUENCE {            
        zxDslIpv6IpLockIpAddr           InetAddress,
        zxDslIpv6IpLockIpAddrPfxLen     InetAddressPrefixLength,
        zxDslIpv6IpLockRowStatus        RowStatus
        }
            
    zxDslIpv6IpLockIpAddr    OBJECT-TYPE    
        SYNTAX               InetAddress
        MAX-ACCESS           not-accessible
        STATUS               current
        DESCRIPTION          "The IPv6 address for iplock."
        ::=  {  zxDslIpv6IpLockEntry  1  }
        
    zxDslIpv6IpLockIpAddrPfxLen   OBJECT-TYPE 
        SYNTAX          InetAddressPrefixLength
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The prefix length of IPv6 address."
        ::=  {  zxDslIpv6IpLockEntry  2  }

    zxDslIpv6IpLockRowStatus    OBJECT-TYPE    
        SYNTAX          RowStatus 
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The row status of this entry."
        ::=  {  zxDslIpv6IpLockEntry  10  } 
 
    zxDslPonLinkObjects  OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlObjects  16  }
 
    zxDslPonLinkGlobalObjects  OBJECT IDENTIFIER  
        ::= {zxDslPonLinkObjects 1}     
        
    zxDslPonLinkForceSwap OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Force to swap the primary and secondary PON link. when it is 
             set to 1."
          ::= { zxDslPonLinkGlobalObjects 1}
          
    zxDslProtocolRateLimitObjects  OBJECT IDENTIFIER
        ::=  {  zxDslSrvctrlObjects  17  }
        
    RateLimitProtocolType ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION     "Protocol Type."
        SYNTAX      INTEGER
        {
            multicast(1),
            broadcast(2),
            unknownMulticast(3),
            dlf(4),
            dhcp(5),
            igmp(6),
            icmp(7),
            dhcpv6(8),
            icmpv6(9),
            mld(10),
            arp(11),
            all(20)
        }
        
    RateLimitScale ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION     "Protocol Rate Limiting Scale."
        SYNTAX      INTEGER
        {
            global(1),
            nni(2),
            uni(3),
            globalVlan(4),
            globalPvc(5),
            vlan(10),
            port(11),
            pvc(12)
        }
        
    zxDslProtocolRateLimitTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxDslProtocolRateLimitEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The 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."
        ::= { zxDslProtocolRateLimitObjects 1 }
        
    zxDslProtocolRateLimitEntry OBJECT-TYPE
        SYNTAX     ZxDslProtocolRateLimitEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The protocol rate limiting entry."
        INDEX { zxDslProtocolType, zxDslProtocolRateLimitScale, 
                zxDslProtocolRateLimitIndex }
        ::= { zxDslProtocolRateLimitTable 1 }
        
    ZxDslProtocolRateLimitEntry ::= SEQUENCE {
        zxDslProtocolType                     RateLimitProtocolType,
        zxDslProtocolRateLimitScale           RateLimitScale,
        zxDslProtocolRateLimitIndex           Integer32,
        zxDslProtocolRateLimitAction          INTEGER,
        zxDslProtocolRateLimitValue           Integer32
    }
    
    zxDslProtocolType   OBJECT-TYPE
        SYNTAX          RateLimitProtocolType
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Protocol Type."
        ::= { zxDslProtocolRateLimitEntry 1 }
        
    zxDslProtocolRateLimitScale    OBJECT-TYPE
        SYNTAX          RateLimitScale
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Protocol Rate Limiting Scale."
        ::= { zxDslProtocolRateLimitEntry 2 }
        
    zxDslProtocolRateLimitIndex    OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Index for a specific protocol rate limiting
             scale. Notes: the meanning of this object is determined by the 
             value of zxDslProtocolRateLimitScale, examples:
             in case of vlan, this object represents VLAN ID,
             in case of port, this object represents ifIndex,
             in case of global,globalVlan,globalPvc,nni and uni, this oject is
             meanless with the value 0xffffffff."
        ::= { zxDslProtocolRateLimitEntry 3 }
        
   zxDslProtocolRateLimitAction       OBJECT-TYPE
        SYNTAX        INTEGER
        {
            discard(1),
            rateLimit(2),
            rateUnlimit(3)
        }
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "This object controls whether discarding enabling or 
                       disabling rate limiting for a specific protocol packet."
        ::= { zxDslProtocolRateLimitEntry 4 }
        
   zxDslProtocolRateLimitValue       OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "Maximum allowed traffic rate for a specific 
                       protocol. When the traffic rate exceeds this value,
                       the packets will be dropped.
                       This oject is meanless with the value 0xffffffff.
                       Notes:there is a possibility that the units of this 
                       object maybe is different with the different devices or 
                       other factors, so the units are not specified but can be 
                       directly obtained from the device by 
                       zxDslSupportedRateLimitUnits."
        ::= { zxDslProtocolRateLimitEntry 5 }
        
        
   zxDslSupportedRateLimitTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxDslSupportedRateLimitEntry
        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."
        ::= { zxDslProtocolRateLimitObjects 2 }
        
   zxDslSupportedRateLimitEntry OBJECT-TYPE
        SYNTAX     ZxDslSupportedRateLimitEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The supported protocol rate limiting entry."
        INDEX { zxDslSupportedProtocolType, zxDslSupportedRateLimitScale }
        ::= { zxDslSupportedRateLimitTable 1 }
        
   ZxDslSupportedRateLimitEntry ::= SEQUENCE {
        zxDslSupportedProtocolType                  RateLimitProtocolType,
        zxDslSupportedRateLimitScale                RateLimitScale,  
        zxDslSupportedRateLimitUnits                INTEGER
    }
    
   zxDslSupportedProtocolType    OBJECT-TYPE
        SYNTAX          RateLimitProtocolType
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Supported Protocol Type."
        ::= { zxDslSupportedRateLimitEntry 1 }
        
   zxDslSupportedRateLimitScale    OBJECT-TYPE
        SYNTAX          RateLimitScale
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
            "Supported Protocol Rate Limiting Scale."
        ::= { zxDslSupportedRateLimitEntry 2 }
        
   zxDslSupportedRateLimitUnits       OBJECT-TYPE
        SYNTAX        INTEGER
        {
            kbps(1),
            pps(2)
        }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Supported unit type of rate for a specific protocol."
        ::= { zxDslSupportedRateLimitEntry 3 }
          
--------------------------------------------------------------------------------
-- Trap
--------------------------------------------------------------------------------
    zxDslExtIfMacLearnExceedLimit NOTIFICATION-TYPE
       OBJECTS
       {
            zxDslExtIfMaxMacLearn
       }
       STATUS     current
       DESCRIPTION
           "This notification indicates that the learned mac 
           address of this port has exceed limit ."
       ::= { zxDslSrvctrlTrapObjects 1 }    
       
    zxDslExtIfAntiDosFault NOTIFICATION-TYPE
       OBJECTS
       {
           ifIndex,
           zxDslExtIfAntiDosSourceMacAddr           
       }
       STATUS     current
       DESCRIPTION
           "This alarm indicates that this port received dos attack."
       ::= { zxDslSrvctrlTrapObjects 2 }   
       
    zxDslExtIfAntiDosFaultCleared NOTIFICATION-TYPE
       OBJECTS
       {
           ifIndex,
           zxDslExtIfAttackedMacAddr           
       }
       STATUS     current
       DESCRIPTION
           "This dos attack alarm cleared."
       ::= { zxDslSrvctrlTrapObjects 3 }
       
   zxDslRateOverThreshFault NOTIFICATION-TYPE
       OBJECTS
       {
           zxDslProtocolRateLimitValue           
       }
       STATUS     current
       DESCRIPTION
           "A zxDslRateOverThreshFault trap will be sent when the agent
            has detected that the current rate is over threshold."
       ::= { zxDslSrvctrlTrapObjects 4 }   
       
    zxDslRateOverThreshFaultCleared NOTIFICATION-TYPE
       OBJECTS
       {
           zxDslProtocolRateLimitValue           
       }
       STATUS     current
       DESCRIPTION
           "The rate over threshold alarm is cleared."
       ::= { zxDslSrvctrlTrapObjects 5 }         
                               
--------------------------------------------------------------------------------
-- Trap Var bind
--------------------------------------------------------------------------------
    zxDslExtIfAntiDosSourceMacAddr    OBJECT-TYPE    
    SYNTAX            MacAddress
    MAX-ACCESS  read-only
    STATUS            current
    DESCRIPTION        
        "The source MAC of packet."
    ::=  {  zxDslSrvctrlTrapBindVar  1  }           
END
