
--------------------------------------------------------------------------
-- File Name : ZTE-AN-NDP-MIB.mib
-- Date      : 2010-08-04
-- Author    : ZTE Nms dept.

--
-- Zte NDP Snooping Mib for Access Node
-- 
--------------------------------------------------------------------------

ZTE-AN-NDP-MIB    DEFINITIONS ::= BEGIN            
    
    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, enterprises, Integer32 
                                                          FROM SNMPv2-SMI
        DisplayString,RowStatus,MacAddress                FROM SNMPv2-TC
        zxAn,ZxAnIfindex,VlanId                           FROM ZTE-AN-TC-MIB
        InetAddress,InetAddressPrefixLength               FROM INET-ADDRESS-MIB;                           
        
    zxAnNdpMib          MODULE-IDENTITY
        LAST-UPDATED    "201008041600Z"
        ORGANIZATION    "ZTE Corporation"
        CONTACT-INFO    "ZTE NMS dept.
                        Li Xiaochun  68896452"
        DESCRIPTION     "This MIB defines description of ZTE NDP objects."
        ::=  { zxAn 69 }
        
    zxAnNdpObjects     OBJECT IDENTIFIER ::=  { zxAnNdpMib  1 }
    
    zxAnNdpSnoopingObjects OBJECT IDENTIFIER ::= { zxAnNdpObjects 1 }
        
--------------------------------------------------------------------------------
-- Following objects are defined.

-- 1. NDP Snooping View Table
-- 2. NDP Snooping Config Table
-- 3. NDP Snooping Global Configuration
-- 4. NDP Filter VLAN Configuration
-- 5. NDP SLAAC Snooping Objects
-- 5.1 NDP SLAAC Snooping View Table
-- 5.2 NDP SLAAC Snooping Port Configuration Table
-- 5.3 NDP SLAAC Source Guard Interface Configuration Table
--------------------------------------------------------------------------------        

--------------------------------------------------------------------------------
-- 1. NDP Snooping View Table
--------------------------------------------------------------------------------
   
   zxAnNdpSnoopingBindingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnNdpSnoopingBindingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table provides the NDP bindings information learnt 
            by the device."
        ::= { zxAnNdpSnoopingObjects 2 }
        
   zxAnNdpSnoopingBindingEntry OBJECT-TYPE
        SYNTAX ZxAnNdpSnoopingBindingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "NDP Snooping Binding Information Entry."
        INDEX { zxAnNdpSnoopingBindingIfIndex,zxAnNdpSnoopingBindingIp }
        ::= { zxAnNdpSnoopingBindingTable 1 }
            
    ZxAnNdpSnoopingBindingEntry ::= SEQUENCE 
    {
        zxAnNdpSnoopingBindingIfIndex    ZxAnIfindex,
        zxAnNdpSnoopingBindingIp         InetAddress,
        zxAnNdpSnoopingBindingMac        MacAddress,
        zxAnNdpSnoopingBindingBrgPort    Integer32,
        zxAnNdpSnoopingBindingVlan       Integer32,
        zxAnNdpSnoopingBindingSrcGuard   INTEGER,
        zxAnNdpSnoopingBindingIpPfxLen   InetAddressPrefixLength,
        zxAnNdpSnoopingBindingLeaseTime  DisplayString,
        zxAnNdpSnoopingBindingSvlan      Integer32
    }
    
    zxAnNdpSnoopingBindingIfIndex OBJECT-TYPE
        SYNTAX       ZxAnIfindex
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION  "An index of the interface."
        ::= { zxAnNdpSnoopingBindingEntry 1 }
    
    zxAnNdpSnoopingBindingIp OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The bound IP address at this interface."
        ::= { zxAnNdpSnoopingBindingEntry 2}
    
    zxAnNdpSnoopingBindingMac OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The bound MAC address."
        ::= { zxAnNdpSnoopingBindingEntry 3}        
    
     zxAnNdpSnoopingBindingBrgPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The bridge port."
        ::= { zxAnNdpSnoopingBindingEntry 4}

    zxAnNdpSnoopingBindingVlan OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The bound VLAN."
        ::= { zxAnNdpSnoopingBindingEntry 5}

    zxAnNdpSnoopingBindingSrcGuard OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enable  ( 1 ) , 
            disable ( 2 )
        } 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The status of IP Source Guard.
            If IP Source Guard is enabled, only traffic from these IP addresses 
            is allowed to pass through the interface."
        ::= { zxAnNdpSnoopingBindingEntry 6}
        
   zxAnNdpSnoopingBindingIpPfxLen   OBJECT-TYPE 
        SYNTAX          InetAddressPrefixLength
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The prefix length of IPv6 address."
        ::=  {  zxAnNdpSnoopingBindingEntry  7 }
        
    zxAnNdpSnoopingBindingLeaseTime OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (19))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Lease time of a NDP client's binding.The format is 
              yyyy-mm-dd HH:MM:SS.For example,  2011-01-01 02:22:33."
        ::= { zxAnNdpSnoopingBindingEntry 8 }
        
    zxAnNdpSnoopingBindingSvlan OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The binding SVLAN."
        ::= { zxAnNdpSnoopingBindingEntry 9 }
          
--------------------------------------------------------------------------------
-- 2. NDP Snooping Config Table
--------------------------------------------------------------------------------
           
    zxAnNdpSnoopingIfConfigTable OBJECT-TYPE 
        SYNTAX SEQUENCE OF ZxAnNdpSnoopingIfConfigEntry 
        MAX-ACCESS not-accessible 
        STATUS current 
        DESCRIPTION 
        "The NDP Snooping Port Configuration Table." 
        ::= { zxAnNdpSnoopingObjects 3 }
    
    zxAnNdpSnoopingIfConfigEntry OBJECT-TYPE 
        SYNTAX ZxAnNdpSnoopingIfConfigEntry
        MAX-ACCESS not-accessible 
        STATUS current 
        DESCRIPTION 
        "The NDP Snooping Port Configuration Entry."
        INDEX { zxAnNdpSnoopingIfIndex } 
        ::= { zxAnNdpSnoopingIfConfigTable 1 }
    
    ZxAnNdpSnoopingIfConfigEntry ::= SEQUENCE {
        zxAnNdpSnoopingIfIndex        ZxAnIfindex,
        zxAnNdpSnoopingIfEnable       INTEGER,
        zxAnNdpSnoopingIfBindingLimit Integer32
        }
        
    zxAnNdpSnoopingIfIndex OBJECT-TYPE
        SYNTAX       ZxAnIfindex
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION  "An index of the interface."
        ::= { zxAnNdpSnoopingIfConfigEntry 1 }
        
    zxAnNdpSnoopingIfEnable        OBJECT-TYPE    
        SYNTAX        INTEGER
        {
            enable  ( 1 ) , 
            disable ( 2 )
        } 
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "NDP Snooping control of the interface.
                      When NDP Snooping is enabled at an interface, a list of
                      IP addresses is obtained through NDP Snooping for this
                      particular interface."
        DEFVAL { disable }
        ::=  {  zxAnNdpSnoopingIfConfigEntry 2  }

    zxAnNdpSnoopingIfBindingLimit        OBJECT-TYPE    
        SYNTAX        Integer32(1..256)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "NDP Snooping limit of the interface.
                      This value is used to determine the maximum number of
                      IP addresses obtained through NDP Snooping for this
                      particular interface."
        DEFVAL { 8 }
        ::=  {  zxAnNdpSnoopingIfConfigEntry 3  }
        
    zxAnNdpSnoopingVlanConfigTable OBJECT-TYPE 
        SYNTAX SEQUENCE OF ZxAnNdpSnoopingVlanConfigEntry 
        MAX-ACCESS not-accessible 
        STATUS current 
        DESCRIPTION 
        "The NDP snooping VLAN configuration table." 
        ::= { zxAnNdpSnoopingObjects 4 }
    
    zxAnNdpSnoopingVlanConfigEntry OBJECT-TYPE 
        SYNTAX ZxAnNdpSnoopingVlanConfigEntry
        MAX-ACCESS not-accessible 
        STATUS current 
        DESCRIPTION 
        "The NDP snooping VLAN configuration entry."
        INDEX { zxAnNdpSnoopingVlanId } 
        ::= { zxAnNdpSnoopingVlanConfigTable 1 }
    
    ZxAnNdpSnoopingVlanConfigEntry ::= SEQUENCE {
        zxAnNdpSnoopingVlanId           Integer32,
        zxAnNdpSnoopingVlanEnable       INTEGER
        }
    
    zxAnNdpSnoopingVlanId OBJECT-TYPE
        SYNTAX       Integer32 (1..4094)
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION  "VLAN ID."
        ::= { zxAnNdpSnoopingVlanConfigEntry 1 }
        
    zxAnNdpSnoopingVlanEnable        OBJECT-TYPE    
        SYNTAX        INTEGER
        {
            enable  ( 1 ) , 
            disable ( 2 )
        } 
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "NDP snooping control for a specific VLAN.
                       'enable' indicates the RA received from a specific 
                       VLAN will be used to update binding state table(BST) 
                       if the address is not in BST and has a permitted prefix.
                       'disable' indicates not updating binding state table(BST) 
                       but directly forwarding NDP packages."
        DEFVAL { disable }
        ::=  { zxAnNdpSnoopingVlanConfigEntry 2 }
        
--------------------------------------------------------------------------------
-- 3. NDP Snooping Global Configuration
--------------------------------------------------------------------------------
       
    zxAnNdpSnoopingGlobalObjects  OBJECT IDENTIFIER    
        ::=  {  zxAnNdpSnoopingObjects  50  }
    
    zxAnNdpSnoopingGlobalEnable OBJECT-TYPE
        SYNTAX  INTEGER
        {
            enable  ( 1 ) , 
            disable ( 2 )
        } 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable or disable the NDP snooping functions."
        DEFVAL { disable }
        ::= { zxAnNdpSnoopingGlobalObjects 1 }

------------------------------------------------------------------------------
-- 4. NDP Filter VLAN Configuration
------------------------------------------------------------------------------

    zxAnNdpFilterObjects  OBJECT IDENTIFIER  ::= { zxAnNdpObjects 2 }
     
    zxAnNdpFilterVlanConfTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxAnNdpFilterVlanConfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "NDP filter table based on VLAN.
             If the VLAN item is set, the NE will dispatch the NDP packets 
             downward by check the out port strictly."
        ::= { zxAnNdpFilterObjects 2 }

    zxAnNdpFilterVlanConfEntry OBJECT-TYPE
        SYNTAX     ZxAnNdpFilterVlanConfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "An entry in zxAnNdpFilterVlanConfTable."
        INDEX { zxAnNdpFilterVlanConfVid }
        ::= { zxAnNdpFilterVlanConfTable 1 }

    ZxAnNdpFilterVlanConfEntry ::= SEQUENCE {
        zxAnNdpFilterVlanConfVid                Integer32,
        zxAnNdpFilterVlanConfRowStatus          RowStatus
        }

    zxAnNdpFilterVlanConfVid OBJECT-TYPE
        SYNTAX     Integer32(1..4094)
        MAX-ACCESS not-accessible
        STATUS     current       
        DESCRIPTION
            "This object indicates the VLAN ID on which NDP filter feature
             is configured."
        ::= { zxAnNdpFilterVlanConfEntry 1 }
   
    zxAnNdpFilterVlanConfRowStatus 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 zxAnNdpFilterVlanConfEntry.
    
            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."
        ::= { zxAnNdpFilterVlanConfEntry 50 }
        
--------------------------------------------------------------------------------
-- 5. NDP SLAAC Snooping Objects
--------------------------------------------------------------------------------

    zxAnNdpSlaacSnoopingObjects       OBJECT IDENTIFIER ::= { zxAnNdpObjects 3 }
    
--------------------------------------------------------------------------------
-- 5.1 NDP SLAAC Snooping View Table
--------------------------------------------------------------------------------
    
    zxAnNdpSlaacSnoopingBindingTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnNdpSlaacSnoopingBindingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table provides the NDP SLAAC bindings information learnt by the
             device."
        ::= { zxAnNdpSlaacSnoopingObjects 2 }
        
    zxAnNdpSlaacSnoopingBindingEntry OBJECT-TYPE
        SYNTAX      ZxAnNdpSlaacSnoopingBindingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry of zxAnNdpSlaacSnoopingBindingTable."
        INDEX
        {
            zxAnNdpSlaacSnoopingBindIfIndex,
            zxAnNdpSlaacSnoopingBindBrgPort,
            zxAnNdpSlaacSnoopingBindSVid,
            zxAnNdpSlaacSnoopingBindMac
        }            
        ::= { zxAnNdpSlaacSnoopingBindingTable 1 }
            
    ZxAnNdpSlaacSnoopingBindingEntry ::= SEQUENCE {
        zxAnNdpSlaacSnoopingBindIfIndex    ZxAnIfindex,
        zxAnNdpSlaacSnoopingBindBrgPort    Integer32,
        zxAnNdpSlaacSnoopingBindSVid       VlanId,
        zxAnNdpSlaacSnoopingBindMac        MacAddress,        
        zxAnNdpSlaacSnoopingBindIp         InetAddress,
        zxAnNdpSlaacSnoopingBindIpPfxLen   InetAddressPrefixLength,
        zxAnNdpSlaacSnoopBindLeaseTime     DisplayString,
        zxAnNdpSlaacSnoopingBindSrcGuard   INTEGER    
        }

    zxAnNdpSlaacSnoopingBindIfIndex  OBJECT-TYPE
        SYNTAX      ZxAnIfindex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Interface index."
        ::= { zxAnNdpSlaacSnoopingBindingEntry 1 }
    
    zxAnNdpSlaacSnoopingBindBrgPort  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Bridge port."
        ::= { zxAnNdpSlaacSnoopingBindingEntry 2 }

    zxAnNdpSlaacSnoopingBindSVid  OBJECT-TYPE
        SYNTAX      VlanId
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "SVLAN ID."
        ::= { zxAnNdpSlaacSnoopingBindingEntry 3 }                                

    zxAnNdpSlaacSnoopingBindMac  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "MAC address."
        ::= { zxAnNdpSlaacSnoopingBindingEntry 4}        

    zxAnNdpSlaacSnoopingBindIp  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "IP address."
        ::= { zxAnNdpSlaacSnoopingBindingEntry 5}
        
    zxAnNdpSlaacSnoopingBindIpPfxLen   OBJECT-TYPE 
        SYNTAX      InetAddressPrefixLength
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The prefix length of IPv6 address."
        ::=  {  zxAnNdpSlaacSnoopingBindingEntry  6 }
        
    zxAnNdpSlaacSnoopBindLeaseTime  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE (19))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "Lease time.
             The format is yyyy-mm-dd HH:MM:SS. 
             For example, 2011-01-01 02:22:33."
        ::= { zxAnNdpSlaacSnoopingBindingEntry 7 }

    zxAnNdpSlaacSnoopingBindSrcGuard OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enabled(1), 
            disabled(2)
        } 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IP source guard status.
             If IP source guard is enabled, only traffic from these IP addresses 
             is allowed to pass through the interface."
        ::= { zxAnNdpSlaacSnoopingBindingEntry 8 }

--------------------------------------------------------------------------------        
-- 5.2 NDP SLAAC Snooping Port Configuration Table
--------------------------------------------------------------------------------

    zxAnNdpSlaacSnoopingIfConfTable OBJECT-TYPE 
        SYNTAX      SEQUENCE OF ZxAnNdpSlaacSnoopingIfConfEntry 
        MAX-ACCESS  not-accessible 
        STATUS      current 
        DESCRIPTION 
            "The NDP SLAAC snooping interface configuration table." 
        ::= { zxAnNdpSlaacSnoopingObjects 3 }

    zxAnNdpSlaacSnoopingIfConfEntry OBJECT-TYPE 
        SYNTAX      ZxAnNdpSlaacSnoopingIfConfEntry
        MAX-ACCESS  not-accessible 
        STATUS      current 
        DESCRIPTION 
            "An entry of zxAnNdpSlaacSnoopingIfConfTable."
        INDEX  { zxAnNdpSlaacSnoopingIfIndex } 
        ::= { zxAnNdpSlaacSnoopingIfConfTable 1 }

    ZxAnNdpSlaacSnoopingIfConfEntry ::= SEQUENCE {
        zxAnNdpSlaacSnoopingIfIndex      ZxAnIfindex,    
        zxAnNdpSlaacSnoopingIfEnable     INTEGER,
        zxAnNdpSlaacSnoopingIfBindingLmt Integer32 
        }

    zxAnNdpSlaacSnoopingIfIndex  OBJECT-TYPE
        SYNTAX       ZxAnIfindex
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION 
            "Interface index."
        ::= { zxAnNdpSlaacSnoopingIfConfEntry 1 }        
        
    zxAnNdpSlaacSnoopingIfEnable  OBJECT-TYPE    
        SYNTAX       INTEGER
        {
            enabled(1),
            disabled(2)
        } 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION  
            "NDP SLAAC snooping control of the interface.
             When SLAAC snooping is enabled at an interface, a list of IP 
             addresses is obtained through SLAAC snooping for this particular 
             interface."
        DEFVAL { disabled }
        ::= { zxAnNdpSlaacSnoopingIfConfEntry 2 }

    zxAnNdpSlaacSnoopingIfBindingLmt  OBJECT-TYPE    
        SYNTAX        Integer32(1..256)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   
            "NDP SLAAC snooping binding limit of the interface.
             This value is used to determine the maximum number of IP addresses 
             obtained through SLAAC snooping for this particular interface."
        DEFVAL  { 2 }
        ::= { zxAnNdpSlaacSnoopingIfConfEntry 3 }

--------------------------------------------------------------------------------
-- 5.3 NDP SLAAC Source Guard Configuration Table
--------------------------------------------------------------------------------

    zxAnNdpSlaacSrcGuardIfConfTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnNdpSlaacSrcGuardIfConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "NDP SLAAC source guard interface configuration table."
        ::= { zxAnNdpSlaacSnoopingObjects 4 }
        
    zxAnNdpSlaacSrcGuardIfConfEntry  OBJECT-TYPE
        SYNTAX      ZxAnNdpSlaacSrcGuardIfConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry of zxAnNdpSlaacSrcGuardIfConfTable."
        INDEX 
        { 
            zxAnNdpSlaacSrcGuardIfIndex,
            zxAnNdpSlaacSrcGuardBrgPort
        }
        ::= { zxAnNdpSlaacSrcGuardIfConfTable 1 }
            
    ZxAnNdpSlaacSrcGuardIfConfEntry ::= SEQUENCE {
        zxAnNdpSlaacSrcGuardIfIndex    ZxAnIfindex,
        zxAnNdpSlaacSrcGuardBrgPort    Integer32,
        zxAnNdpSlaacSrcGuardIfEnable   INTEGER    
        }
    
    zxAnNdpSlaacSrcGuardIfIndex  OBJECT-TYPE
        SYNTAX      ZxAnIfindex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "Interface index."
        ::= { zxAnNdpSlaacSrcGuardIfConfEntry 1 }

    zxAnNdpSlaacSrcGuardBrgPort  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Bridge port."
        ::= { zxAnNdpSlaacSrcGuardIfConfEntry 2}

    zxAnNdpSlaacSrcGuardIfEnable  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enabled(1), 
            disabled(2)
        } 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/disable the source guard."
        DEFVAL  { disabled }
        ::= { zxAnNdpSlaacSrcGuardIfConfEntry 3}

END
