ZTE-AN-ARP-MIB DEFINITIONS ::= BEGIN 
IMPORTS 
    OBJECT-TYPE, MODULE-IDENTITY, IpAddress,
    Integer32                               FROM SNMPv2-SMI 
    TruthValue, MacAddress, RowStatus       FROM SNMPv2-TC
    ZxAnIfindex, zxAn                       FROM ZTE-AN-TC-MIB;
    
zxAnArpMib   MODULE-IDENTITY 
        LAST-UPDATED    "200701241600Z"
        ORGANIZATION    "Zhongxing Telcom Co. Ltd."
        CONTACT-INFO    "E-mail: yao.huayin@zte.com.cn"
        DESCRIPTION     "ARP MIB definition."        
        ::= { zxAn 34 } 

zxAnArpMibObjects        OBJECT IDENTIFIER  ::= { zxAnArpMib 1 }  



--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1. Arp Spoofing Enabled
-- 2. Arp control table based on VLAN
-- 3. Arp Mapping config table
-- 4. Arp Mapping Info table
-- 5. ARP MFF Enable
-- 6. Arp MFF Config
-- 7. Arp Anti Spoofing Config Table
-- 8. Arp Gateway Table
-- 9. DAI(Dynamic ARP Inspection)
-- 10.ARP Reply Agent
-- 11.ARP Packet Limit
-- 12.ARP Agent gateway table based on VLAN
-- 13.ARP Filter Vlan configure
------------------------------------------------------------------------------


------------------------------------------------------------------------------
-- 1. Arp Spoofing Enabled
------------------------------------------------------------------------------
  zxAnArpAntiSpoofingGlbEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Enable or disable arp snooping.1-truth,2-false."             
        DEFVAL { 2 }                   
        ::= { zxAnArpMibObjects 1 }    
        
    zxAnArpCapabilities OBJECT-TYPE
        SYNTAX      BITS {
            mffMultiGateway(0)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The ARP capabilities of this equipment.
            
             The bit value 1 means the function represented by this bit is
             supported by this equipment.            
             - mffMultiGateway(0): 
               value 1 means support zxAnArpMffMultiGatewayTable and Deprecated                
                zxAnArpMffCfgTable."
        ::= { zxAnArpMibObjects 2 }      
        
------------------------------------------------------------------------------
-- 2.Arp control table based on VLAN
------------------------------------------------------------------------------


zxAnArpVlanConfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ZxAnArpVlanConfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "Arp control table based on VLAN."
    ::= { zxAnArpMibObjects 10 }    
    
zxAnArpVlanConfEntry OBJECT-TYPE
    SYNTAX ZxAnArpVlanConfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    ""
    INDEX { zxAnArpVlanConfStartVlan, zxAnArpVlanConfEndVlan }
    ::= { zxAnArpVlanConfTable 1 }

ZxAnArpVlanConfEntry ::= SEQUENCE {
    zxAnArpVlanConfStartVlan       Integer32,
    zxAnArpVlanConfEndVlan         Integer32,
    zxAnArpVlanConfSecurityEnable  INTEGER,
    zxAnArpVlanConfRowStatus       RowStatus
    }    

zxAnArpVlanConfStartVlan OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     not-accessible
    STATUS         current       
    DESCRIPTION
    ""
    ::= { zxAnArpVlanConfEntry 1 }

zxAnArpVlanConfEndVlan OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     not-accessible
    STATUS         current       
    DESCRIPTION
    ""
    ::= { zxAnArpVlanConfEntry 2 }
  
zxAnArpVlanConfSecurityEnable OBJECT-TYPE
    SYNTAX        INTEGER
        {   
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    " Enable or disable ARP security control."
    DEFVAL { enable }
    ::= { zxAnArpVlanConfEntry 3 }

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

------------------------------------------------------------------------------
-- 3.Arp Mapping config table
------------------------------------------------------------------------------
zxAnArpMapConfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ZxAnArpMapConfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "Arp Mapping config table"
    ::= { zxAnArpMibObjects 11 }    
    
zxAnArpMapConfEntry OBJECT-TYPE
    SYNTAX ZxAnArpMapConfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    ""
    INDEX { zxAnArpMapConfIpAddr, zxAnArpMapConfVlan }
    ::= { zxAnArpMapConfTable 1 }
        
ZxAnArpMapConfEntry ::= SEQUENCE {
    zxAnArpMapConfIpAddr       IpAddress,
    zxAnArpMapConfVlan         Integer32,
    zxAnArpMapConfMacAddr      MacAddress,
        zxAnArpMapConfIfindex      ZxAnIfindex,
    zxAnArpMapConfRowStatus    RowStatus
    }    

zxAnArpMapConfIpAddr OBJECT-TYPE
    SYNTAX         IpAddress
    MAX-ACCESS     not-accessible
    STATUS         current       
    DESCRIPTION
    ""
    ::= { zxAnArpMapConfEntry 1 }

zxAnArpMapConfVlan OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     not-accessible
    STATUS         current       
    DESCRIPTION
    "vlan id "
    ::= { zxAnArpMapConfEntry 2 }

zxAnArpMapConfMacAddr OBJECT-TYPE
    SYNTAX         MacAddress
    MAX-ACCESS     read-create
    STATUS         current       
    DESCRIPTION
    "MAC address"
    ::= { zxAnArpMapConfEntry 3 }

zxAnArpMapConfIfindex OBJECT-TYPE
    SYNTAX         ZxAnIfindex
    MAX-ACCESS     read-create
    STATUS         current       
    DESCRIPTION
    " Ifindex of the port."
    ::= { zxAnArpMapConfEntry 4 }
 
zxAnArpMapConfRowStatus  OBJECT-TYPE 
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "The row status of this entry."
    ::=  {  zxAnArpMapConfEntry 5 }   



------------------------------------------------------------------------------
-- 4.Arp Mapping Info table
------------------------------------------------------------------------------
zxAnArpMapInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ZxAnArpMapInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Arp Mapping Info table.It is used to show arp info and delete arp 
        instance."
    ::= { zxAnArpMibObjects 12 }    
    
zxAnArpMapInfoEntry OBJECT-TYPE
    SYNTAX ZxAnArpMapInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    ""
    INDEX { zxAnArpMapConfIpAddr, zxAnArpMapConfVlan, zxAnArpMapInfoType }
    ::= { zxAnArpMapInfoTable 1 }
        
ZxAnArpMapInfoEntry ::= SEQUENCE {
    zxAnArpMapInfoType         INTEGER,
    zxAnArpMapInfoMacAddr      MacAddress,
        zxAnArpMapInfoIfindex      ZxAnIfindex
    }    

zxAnArpMapInfoType OBJECT-TYPE
    SYNTAX        INTEGER
        {   
            static(1),
            dhcp(2),
            ipoas(3),
            ipoad(4),
            dynamic(5)
        }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "Type of arp info."
    ::= { zxAnArpMapInfoEntry 1 }

zxAnArpMapInfoMacAddr OBJECT-TYPE
    SYNTAX         MacAddress
    MAX-ACCESS     read-only
    STATUS         current       
    DESCRIPTION
    "MacAddr in arp"
    ::= { zxAnArpMapInfoEntry 2 }
  

zxAnArpMapInfoIfindex OBJECT-TYPE
    SYNTAX         ZxAnIfindex
    MAX-ACCESS     read-only
    STATUS         current       
    DESCRIPTION
      " Ifindex of the port."
    ::= { zxAnArpMapInfoEntry 3 }    
    


------------------------------------------------------------------------------
-- 5. ARP MFF Enable
------------------------------------------------------------------------------
  zxAnArpMffCfg        OBJECT IDENTIFIER  ::= { zxAnArpMibObjects 16 } 
  
  zxAnArpMffCfgEnable  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
             "Enable or disable arp mff function."             
        DEFVAL { 2 }                   
        ::= { zxAnArpMffCfg 1 }   
                    
------------------------------------------------------------------------------
-- 6. Arp MFF Config
------------------------------------------------------------------------------          
   zxAnArpMffCfgTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnArpMffCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table indicates ARP MFF configuration.MFF is MAC-Forced 
             Forwarding.
             This table supports 8 VLAN's configuration of the MFF gateway.
             In a same VLAN, IP or MAC of the gateway should not be duplicated.
             
             At the mode of manual for the gateway,IP must be configured 
             and MAC address is optional, 
             
             At the mode of automatic, IP and MAC should not be configured.
             
             Only single mode of gateways should be configured in this table at 
             the same time,that is,multi rows in the table have a same value of 
             zxAnArpMffCfgGatewayMode.   "

        REFERENCE    "RFC 4562 MAC-Forced Forwarding: A Method for Subscriber 
                      Separation on an Ethernet Access Network"       
        ::= { zxAnArpMffCfg 2 }

    zxAnArpMffCfgEntry OBJECT-TYPE
        SYNTAX      ZxAnArpMffCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnArpMffCfgTable."
        INDEX       {  zxAnArpMffCfgVlan }
        ::= { zxAnArpMffCfgTable 1 }
    
    ZxAnArpMffCfgEntry ::= SEQUENCE {
        zxAnArpMffCfgVlan                   INTEGER,
        zxAnArpMffCfgGatewayMode            INTEGER,
        zxAnArpMffCfgGatewayIp              IpAddress, 
        zxAnArpMffCfgGatewayMac             MacAddress ,
        zxAnArpMffCfgRowStatus              RowStatus
    }
        
    zxAnArpMffCfgVlan  OBJECT-TYPE
        SYNTAX    INTEGER(1..4094)
        MAX-ACCESS  not-accessible
        STATUS    current
        DESCRIPTION  
           "An index for zxAnArpMffCfgTable."
        ::={zxAnArpMffCfgEntry 1}    
                    
     zxAnArpMffCfgGatewayMode  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            manual(1),    
            automatic(2)                    
        }
        MAX-ACCESS  read-create
        STATUS      deprecated
        DESCRIPTION 
           "Mff gateway  mode." 
        DEFVAL      { 1 }  
        ::={zxAnArpMffCfgEntry 2}   
        
     zxAnArpMffCfgGatewayIp  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
           "Mff gateway  IP address."        
        ::={zxAnArpMffCfgEntry 3}   
        
     zxAnArpMffCfgGatewayMac  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
           "Mff gateway MAC address."        
        ::={zxAnArpMffCfgEntry 4}               
        
     zxAnArpMffCfgRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { zxAnArpMffCfgEntry 50 }  

     zxAnArpMffMultiGatewayTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnArpMffMultiGatewayEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table indicates MFF configuration.MFF is MAC-Forced 
            forwarding.This table supports 32 VLAN's configuration of the 
            MFF gateway,and 8 gateway configuration per VLAN.In a same VLAN,
            IP or MAC of the gateway should not be duplicated.           
            "   
        ::= { zxAnArpMffCfg 4 }

    zxAnArpMffMultiGatewayEntry OBJECT-TYPE
        SYNTAX      ZxAnArpMffMultiGatewayEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "A row instance contains the configuration to enable or disable 
             MFF at each existing VLAN."
        INDEX   {  zxAnArpMffMultiGatewayMffVid, zxAnArpMffMultiGatewayIpAddr }
        ::= { zxAnArpMffMultiGatewayTable 1 }

    ZxAnArpMffMultiGatewayEntry ::= SEQUENCE {
        zxAnArpMffMultiGatewayMffVid          Integer32,
        zxAnArpMffMultiGatewayIpAddr          IpAddress, 
        zxAnArpMffMultiGatewayIpMask          IpAddress,
        zxAnArpMffMultiGatewayMacMode         INTEGER,
        zxAnArpMffMultiGatewayMac             MacAddress,
        zxAnArpMffMultiGatewayRowStatus       RowStatus
    }    

    zxAnArpMffMultiGatewayMffVid  OBJECT-TYPE
        SYNTAX    Integer32(1..4094)
        MAX-ACCESS  not-accessible
        STATUS    current
        DESCRIPTION  
           "An index for zxAnArpMffTable, specify the VLAN id."
        ::={zxAnArpMffMultiGatewayEntry 1}    

    zxAnArpMffMultiGatewayIpAddr  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
           "MFF gateway IP address, in a VLAN, 
           there can be 8 gateways at most .
           "        
        ::={zxAnArpMffMultiGatewayEntry 2}     

    zxAnArpMffMultiGatewayIpMask OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "MFF gateway IP mask, the default gateway's mask should be all 0."                          
        ::= { zxAnArpMffMultiGatewayEntry 3 }   

    zxAnArpMffMultiGatewayMacMode  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            manual(1),    
            automatic(2)                    
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
           "MFF gateway MAC address configuration mode.
            If zxAnArpMffGatewayMac has been configured, 
            the mode should be manual when doing a request, 
            otherwise, the mode should be automatic." 
        DEFVAL      { manual }  
        ::={zxAnArpMffMultiGatewayEntry 4}   

    zxAnArpMffMultiGatewayMac  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
           "MFF gateway MAC address."        
        ::={zxAnArpMffMultiGatewayEntry 5}    
 
    zxAnArpMffMultiGatewayRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object is used to manage the creation and deletion of rows 
             in this table. It only supports 'active(1)','createAndGo(4)'and 
             'destroy(6)' value.
                
             If this object is set to 'createAndGo(4)', the VLAN on 
             which MFF is active(1).Setting this object value to
             destroy(6),the VLAN on which MFF is inactive."
        ::= { zxAnArpMffMultiGatewayEntry 50 }           
------------------------------------------------------------------------------
-- 7. Arp Anti Spoofing Config Table
------------------------------------------------------------------------------         
   zxAnArpAntiSpoofingCfgTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnArpAntiSpoofingCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "" 
        ::= { zxAnArpMibObjects 17 }

    zxAnArpAntiSpoofingCfgEntry OBJECT-TYPE
        SYNTAX      ZxAnArpAntiSpoofingCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnArpAntiSnoofingCfgTable ."
        INDEX       {  zxAnArpAntiSpoofingVid }
        ::= { zxAnArpAntiSpoofingCfgTable 1 }
    
    ZxAnArpAntiSpoofingCfgEntry ::= SEQUENCE {
        zxAnArpAntiSpoofingVid                   INTEGER,
        zxAnArpAntiSpoofingDirection                 INTEGER,
        zxAnArpAntiSpoofingVlanRowStatus              RowStatus
    }
        
    zxAnArpAntiSpoofingVid  OBJECT-TYPE
        SYNTAX    INTEGER(1..4094)
        MAX-ACCESS  not-accessible
        STATUS    current
        DESCRIPTION  
           "An index for zxAnArpAntiSpoofingCfgTable."
        ::={zxAnArpAntiSpoofingCfgEntry 1}          
                           
     zxAnArpAntiSpoofingDirection  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            nni(1),
            uni(2),
            all(3)              
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
           "Direction of ARP Anti Spoofing function."        
        ::={zxAnArpAntiSpoofingCfgEntry 2}   
                           
     zxAnArpAntiSpoofingVlanRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { zxAnArpAntiSpoofingCfgEntry 50 }          
        
------------------------------------------------------------------------------
-- 8. Arp Gateway Table
------------------------------------------------------------------------------  
   zxAnArpGateway        OBJECT IDENTIFIER  ::= { zxAnArpMibObjects 18 } 
        
   zxAnArpGatewayTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnArpGatewayEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table indicates ARP Gateway configuration."    
        ::= { zxAnArpGateway 1 }

    zxAnArpGatewayEntry OBJECT-TYPE
        SYNTAX      ZxAnArpGatewayEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnArpGatewayTable."
        INDEX       {  zxAnArpGatewayVlan,zxAnArpGatewayMode,zxAnArpGatewayIp}
        ::= { zxAnArpGatewayTable 1 }
    
    ZxAnArpGatewayEntry ::= SEQUENCE {
        zxAnArpGatewayVlan            INTEGER,
        zxAnArpGatewayMode            INTEGER,              
        zxAnArpGatewayIp              IpAddress,   
        zxAnArpGatewayMacAddr         MacAddress ,
        zxAnArpGatewayRowStatus       RowStatus
    }
        
    zxAnArpGatewayVlan  OBJECT-TYPE
        SYNTAX      INTEGER(1..4094)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION  
           "An index for zxAnArpGatewayTable."
        ::={zxAnArpGatewayEntry 1}    
                    
     zxAnArpGatewayMode  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            static(1),
            dhcp(2),
            ipoastatic(3), 
            ipoadynamic(4),
            staticIp(5)
        }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
           "Type of gateway." 
        DEFVAL      { 1 }  
        ::={zxAnArpGatewayEntry 2}   
        
     zxAnArpGatewayIp  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
           "gateway  IP address."        
        ::={zxAnArpGatewayEntry 3}   
        
     zxAnArpGatewayMacAddr  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
           "gateway  MAC address."        
        ::={zxAnArpGatewayEntry 4}    
                
     zxAnArpGatewayRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { zxAnArpGatewayEntry 50 }               
        
------------------------------------------------------------------------------
-- 9. DAI(Dynamic ARP Inspection)
------------------------------------------------------------------------------

    zxAnArpDaiObjects        OBJECT IDENTIFIER  ::= { zxAnArpMibObjects 19 }
    
    zxAnArpDaiIfCfgTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnArpDaiIfCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table indicates interface DAI configuration."
        ::= { zxAnArpDaiObjects 2 }

    zxAnArpDaiIfCfgEntry OBJECT-TYPE
        SYNTAX      ZxAnArpDaiIfCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnArpDaiIfCfgTable."
        INDEX       
            {  
                zxAnArpRack,
                zxAnArpShelf,
                zxAnArpSlot,
                zxAnArpPort,
                zxAnArpOnu,
                zxAnArpIfType,
                zxAnArpLogicalId
            }
        ::= { zxAnArpDaiIfCfgTable 1 }
    
    ZxAnArpDaiIfCfgEntry ::= SEQUENCE {
        zxAnArpRack                     Integer32,
        zxAnArpShelf                    Integer32,              
        zxAnArpSlot                     Integer32,   
        zxAnArpPort                     Integer32,
        zxAnArpOnu                      Integer32,
        zxAnArpIfType                   INTEGER,
        zxAnArpLogicalId                OBJECT IDENTIFIER,
        zxAnArpAntiSpoofingIfLogEnable  INTEGER       
    }
    
    zxAnArpRack  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Rack number of the port."
        ::= { zxAnArpDaiIfCfgEntry 1 }
        
    zxAnArpShelf  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Shelf number of the port."
        ::= { zxAnArpDaiIfCfgEntry 2 }
        
    zxAnArpSlot  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Slot number of the port."
        ::= { zxAnArpDaiIfCfgEntry 3 }
        
    zxAnArpPort  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The port number."
        ::= { zxAnArpDaiIfCfgEntry 4 }
        
    zxAnArpOnu  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
             "The ONU number. It is 0 in DSL port."
        ::= { zxAnArpDaiIfCfgEntry 5 }
        
    zxAnArpIfType  OBJECT-TYPE
        SYNTAX      INTEGER
            {
                physicalPort(1),  
                bridgePort(2), 
                ponOnu(3),
                ponVPort(4),
                servicePort(11)
            }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object indicates the type of port."
        ::= { zxAnArpDaiIfCfgEntry 6 }
        
    zxAnArpLogicalId  OBJECT-TYPE
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This value is an oid which indicats the logical index.
             When zxAnArpIfType is 'physicalPort' its value is '0'.
             When zxAnArpIfType is 'bridgePort' this object includes 
             {pvc} , such as oid {1} indicates  pvc1 .
             When zxAnArpIfType is 'ponOnu' its value is '0'.            
             When zxAnArpIfType is 'ponVPort' this object includes 
             {gemport/llid} , such as oid {1} indicates  gemport1/llid1 .
             When zxAnArpIfType is 'servicePort' this object includes 
             {serviceportID} , such as oid {1} indicates  serviceportID1 ."
        ::= { zxAnArpDaiIfCfgEntry 7 }
        
    zxAnArpAntiSpoofingIfLogEnable  OBJECT-TYPE
        SYNTAX      INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enables or disables to log DAI violation on the interface."
        ::= { zxAnArpDaiIfCfgEntry 8 }  

------------------------------------------------------------------------------
-- 10.ARP Reply Agent
------------------------------------------------------------------------------
    
    zxAnArpReplyAgentObjects   OBJECT IDENTIFIER  ::= { zxAnArpMibObjects 20 }
    
    zxAnArpReplyAgentIfCfgTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnArpReplyAgentIfCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table indicates interface ARP reply agent configuration."
        ::= { zxAnArpReplyAgentObjects 2 }

    zxAnArpReplyAgentIfCfgEntry OBJECT-TYPE
        SYNTAX      ZxAnArpReplyAgentIfCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnArpReplyAgentIfCfgTable."
        INDEX       
            {  
                zxAnArpRack,
                zxAnArpShelf,
                zxAnArpSlot,
                zxAnArpPort,
                zxAnArpOnu,
                zxAnArpIfType,
                zxAnArpLogicalId
            }
        ::= { zxAnArpReplyAgentIfCfgTable 1 }
    
    ZxAnArpReplyAgentIfCfgEntry ::= SEQUENCE {
        zxAnArpReplyAgentIfEnable  INTEGER
    }
    
    zxAnArpReplyAgentIfEnable  OBJECT-TYPE
        SYNTAX      INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enables or disables ARP reply agent for the interface.
             enable(1)  - Reply downstream ARP message.
             disable(2) - Forward downstream ARP message to user side.
            "
        ::= { zxAnArpReplyAgentIfCfgEntry 1 }
    
------------------------------------------------------------------------------
-- 11.ARP Packet Limit
------------------------------------------------------------------------------    
    
    zxAnArpPacketLimitObjects   OBJECT IDENTIFIER  ::= { zxAnArpMibObjects 21 }
    
    zxAnArpPacketLimitIfCfgTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnArpPacketLimitIfCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table indicates interface ARP packet limit configuration."
        ::= { zxAnArpPacketLimitObjects 2 }

    zxAnArpPacketLimitIfCfgEntry OBJECT-TYPE
        SYNTAX      ZxAnArpPacketLimitIfCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnArpPacketLimitIfCfgTable."
        INDEX       
            {  
                zxAnArpRack,
                zxAnArpShelf,
                zxAnArpSlot,
                zxAnArpPort,
                zxAnArpOnu,
                zxAnArpIfType,
                zxAnArpLogicalId
            }
        ::= { zxAnArpPacketLimitIfCfgTable 1 }
    
    ZxAnArpPacketLimitIfCfgEntry ::= SEQUENCE {
        zxAnArpBcastSuppressIfEnable    INTEGER
    }
        
    zxAnArpBcastSuppressIfEnable  OBJECT-TYPE
        SYNTAX      INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enables or disables ARP broadcast packet limit for the interface."
        ::= { zxAnArpPacketLimitIfCfgEntry 1 }

------------------------------------------------------------------------------
-- 12.ARP Agent gateway table based on VLAN
------------------------------------------------------------------------------

    zxAnArpAgentObjects        OBJECT IDENTIFIER  ::= { zxAnArpMibObjects 22 }
     
    zxAnArpAgentGatewayTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnArpAgentGatewayEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "ARP agent gateway control table based on VLAN."
        ::= { zxAnArpAgentObjects 2 }

    zxAnArpAgentGatewayEntry OBJECT-TYPE
        SYNTAX ZxAnArpAgentGatewayEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in zxAnArpAgentGatewayTable."
        INDEX { zxAnArpAgentGatewaySvid, zxAnArpAgentGatewayCvid }
        ::= { zxAnArpAgentGatewayTable 1 }

    ZxAnArpAgentGatewayEntry ::= SEQUENCE {
        zxAnArpAgentGatewaySvid                Integer32,
        zxAnArpAgentGatewayCvid                Integer32,
        zxAnArpAgentGatewayStatus              INTEGER,
        zxAnArpAgentGatewayIpAddr              IpAddress,
        zxAnArpAgentGatewayMac                 MacAddress, 
        zxAnArpAgentGatewayRowStatus           RowStatus
        }

    zxAnArpAgentGatewaySvid OBJECT-TYPE
        SYNTAX         Integer32(1..4094)
        MAX-ACCESS     not-accessible
        STATUS         current       
        DESCRIPTION
            "This object indicates the S-VID number on which ARP agent gateway
             feature is configured."
        ::= { zxAnArpAgentGatewayEntry 1 }

    zxAnArpAgentGatewayCvid OBJECT-TYPE
        SYNTAX         Integer32(0..4094)
        MAX-ACCESS     not-accessible
        STATUS         current       
        DESCRIPTION
            "This object indicates the C-VID number on which ARP agent gateway
             feature is configured.
             For single tagged packet, the value is 0."
        ::= { zxAnArpAgentGatewayEntry 2 }

    zxAnArpAgentGatewayStatus  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            valid(1),
            invalid(2)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "ARP agent gateway status.
             valid(1)   - The gateway MAC address is valid.
             invalid(2) - The gateway MAC address is invalid."
        ::={zxAnArpAgentGatewayEntry 3}

    zxAnArpAgentGatewayIpAddr  OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "ARP agent IP address."
        ::={zxAnArpAgentGatewayEntry 4}

    zxAnArpAgentGatewayMac  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "ARP agent gateway MAC address.
             When zxAnArpAgentGatewayMode is automatic(2), 
             zxAnArpAgentGatewayMac will be configured with empty."
        ::={zxAnArpAgentGatewayEntry 5}

    zxAnArpAgentGatewayRowStatus 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 zxAnArpAgentGatewayEntry.
    
            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)."
        ::= { zxAnArpAgentGatewayEntry 50 }  
        
------------------------------------------------------------------------------
-- 13.ARP Filter Vlan configure
------------------------------------------------------------------------------

    zxAnArpFilterObjects        OBJECT IDENTIFIER  ::= { zxAnArpMibObjects 23 }
     
    zxAnArpFilterVlanConfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnArpFilterVlanConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "ARP filter table based on VLAN.
             If the VLAN item is set, the NE will dispatch the ARP 
             packets downward by check the out port strictly.
            "
        ::= { zxAnArpFilterObjects 2 }

    zxAnArpFilterVlanConfEntry OBJECT-TYPE
        SYNTAX ZxAnArpFilterVlanConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in zxAnArpFilterVlanConfTable."
        INDEX { zxAnArpFilterVlanConfVid}
        ::= { zxAnArpFilterVlanConfTable 1 }

    ZxAnArpFilterVlanConfEntry ::= SEQUENCE {
        zxAnArpFilterVlanConfVid                Integer32,
        zxAnArpFilterVlanConfRowStatus          RowStatus
        }

    zxAnArpFilterVlanConfVid OBJECT-TYPE
        SYNTAX         Integer32(1..4094)
        MAX-ACCESS     not-accessible
        STATUS         current       
        DESCRIPTION
            "This object indicates the VLAN ID on which ARP filter feature
             is configured."
        ::= { zxAnArpFilterVlanConfEntry 1 }
   
    zxAnArpFilterVlanConfRowStatus 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 zxAnArpFilterVlanConfEntry.
    
            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).
            
            And the entry just supports createAndGo(4) and destroy(6) 
            operation.
            "
        ::= { zxAnArpFilterVlanConfEntry 50 }         

END

