
--------------------------------------------------------------------------------
-- File Name : ZTE-AN-MULTICAST-TEST-MIB.mib
-- Date      : 2011-07-06
-- Author    : ZTE NMS Dept.
--
-- ZTE Multicast Test MIB for Access Node. 
-- 
--------------------------------------------------------------------------------

ZTE-AN-MULTICAST-TEST-MIB DEFINITIONS ::= BEGIN

IMPORTS 
    MODULE-IDENTITY,Integer32,Counter32,OBJECT-TYPE FROM SNMPv2-SMI
    RowStatus                                       FROM SNMPv2-TC
    InetAddress,InetAddressType                     FROM INET-ADDRESS-MIB
    zxAn                                            FROM ZTE-AN-TC-MIB;

zxAnMulticastTestMib MODULE-IDENTITY
    LAST-UPDATED    "201107061430Z"
    ORGANIZATION    "ZTE Corporation"
    CONTACT-INFO    "Chen Cheng
                     Mail: chen.cheng2@zte.com.cn
                     Tel : 021-68896452"
    DESCRIPTION     "The MIB module for the management of multicast test."
    ::= {zxAn 28}

--------------------------------------------------------------------------------
-- Following management objects are defined.
-- 1. Multicast Interface Test Global Objects
-- 2. Multicast Interface Test Objects
--------------------------------------------------------------------------------    
zxAnMulticastTestGlobalObjects OBJECT IDENTIFIER ::= {zxAnMulticastTestMib 1}

zxAnMulticastTestObjects       OBJECT IDENTIFIER ::= {zxAnMulticastTestMib 2}

zxAnMulticastIfTest         OBJECT IDENTIFIER ::= {zxAnMulticastTestObjects 1}
    
--------------------------------------------------------------------------------
-- 1. Multicast Interface Test Global Objects
--------------------------------------------------------------------------------    
    zxAnMulticastTestCapabilities  OBJECT-TYPE
        SYNTAX      BITS    {
            supportPriorityAndDuration(0)   
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The multicast test capabilities of this equipment. 
             The bit value 1 means the function represented by this bit is
             supported by this equipment.
             NOTE: No recommended to display it in NMS.
             supportPriorityAndDuration(0):
                 support    - zxAnMulticastIfTestPriority,
                              zxAnMulticastIfTestDuration,
                              zxAnMulticastIfTestMcastPkts.
                 deprecated - zxAnMulticastIfTestBwAfterJoin,
                              zxAnMulticastIfTestBwAfterLeave.                                   
            "
        ::= { zxAnMulticastTestGlobalObjects 1 }
--------------------------------------------------------------------------------
-- 2. Multicast Interface Test Objects
--------------------------------------------------------------------------------

    zxAnMulticastIfTestTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnMulticastIfTestEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The table listing multicast test entries. An entry indicates a 
             test."
    ::= { zxAnMulticastIfTest 2 }
          
    zxAnMulticastIfTestEntry OBJECT-TYPE
        SYNTAX      ZxAnMulticastIfTestEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry in the zxAnMulticastIfTestTable."
        INDEX 
            { 
                zxAnMulticastIfTestRack,
                zxAnMulticastIfTestShelf,
                zxAnMulticastIfTestSlot,
                zxAnMulticastIfTestPort,
                zxAnMulticastIfTestOnu,
                zxAnMulticastIfTestIfType,
                zxAnMulticastIfTestLogicalId
            }
        ::= { zxAnMulticastIfTestTable 1 }   
        
    ZxAnMulticastIfTestEntry ::= SEQUENCE {
        zxAnMulticastIfTestRack          Integer32,
        zxAnMulticastIfTestShelf         Integer32,
        zxAnMulticastIfTestSlot          Integer32,
        zxAnMulticastIfTestPort          Integer32,
        zxAnMulticastIfTestOnu           Integer32,
        zxAnMulticastIfTestIfType        INTEGER,
        zxAnMulticastIfTestLogicalId     OBJECT IDENTIFIER,
        zxAnMulticastIfTestMvlanId       INTEGER,                
        zxAnMulticastIfTestGroupIpType   InetAddressType,
        zxAnMulticastIfTestGroupIp       InetAddress,        
        zxAnMulticastIfTestPriority      Integer32,
        zxAnMulticastIfTestDuration      Integer32,           
        zxAnMulticastIfTestStatus        INTEGER,
        zxAnMulticastIfTestFailedReason  INTEGER,
        zxAnMulticastIfTestBwAfterJoin   Integer32,
        zxAnMulticastIfTestBwAfterLeave  Integer32,
        zxAnMulticastIfTestBwUnit        INTEGER,
        zxAnMulticastIfTestMcastPkts     Counter32,        
        zxAnMulticastIfTestAction        INTEGER,
        zxAnMulticastIfTestRowStatus     RowStatus
    }
    
    zxAnMulticastIfTestRack    OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION     
            "Rack No. of the interface."
        ::= { zxAnMulticastIfTestEntry 1 }
        
    zxAnMulticastIfTestShelf   OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION     
            "Shelf No. of the interface."
        ::= { zxAnMulticastIfTestEntry 2 }

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

    zxAnMulticastIfTestPort    OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION     
            "Physical port No. of the interface."
        ::= { zxAnMulticastIfTestEntry 4 }
        
    zxAnMulticastIfTestOnu     OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION     
            "ONU No. of the interface.
             It is valid only if zxAnMulticastIfTestIfType is 'ponOnu' or 
             'portVPort' or 'onuUni' or 'servicePort', otherwise, its value 
             is 0."
        ::= { zxAnMulticastIfTestEntry 5 }
    
    zxAnMulticastIfTestIfType  OBJECT-TYPE 
        SYNTAX      INTEGER {
            physicalPort(1),
            bridgePort(2),
            ponOnu(3),
            ponVPort(4),
            onuUni(5)
        }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION     
            "Type of the interface."
        ::= { zxAnMulticastIfTestEntry 6 }
        
    zxAnMulticastIfTestLogicalId OBJECT-TYPE
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Logic index of the interface.
            
            If zxAnMulticastIfTestIfType is 'physicalPort', its value is 0.
            
            If zxAnMulticastIfTestIfType is 'bridgePort', this object
            indicates 'pvc', such as oid '1' indicates 'PVC1'.
            
            If zxAnMulticastIfTestIfType is 'ponOnu', its value is 0.
            
            If zxAnMulticastIfTestIfType is 'ponVPort', this object
            indicates 'ponVPort', such as oid '1' indicates 'PortVPort1'.
            
            If zxAnMulticastIfTestIfType is 'onuUni', this object
            indicates 'onuSlot.uniId', this type is used for SFUs only.
            If the ONU slot is not cared about, the onuSlot is 0,
            such as oid '0.1' indicates 'ONUSlot0.UNIID1'.
            "
        ::= { zxAnMulticastIfTestEntry 7 }
    
    zxAnMulticastIfTestMvlanId   OBJECT-TYPE
        SYNTAX      INTEGER (0..4094)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "The VLAN of interface which will be used in testing datagram.
             Value 0 means untagged." 
        ::= { zxAnMulticastIfTestEntry 8 }
                    
    zxAnMulticastIfTestGroupIpType    OBJECT-TYPE 
        SYNTAX       InetAddressType
        MAX-ACCESS   read-create
        STATUS       current 
        DESCRIPTION 
            "Multicast group IP address type." 
        ::= { zxAnMulticastIfTestEntry 9 } 
            
    zxAnMulticastIfTestGroupIp   OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "Multicast group IP address.
             The multicast group must be created first.
             If can not find the multicast group, test fail.
            "
        ::= { zxAnMulticastIfTestEntry 10}        

    zxAnMulticastIfTestPriority OBJECT-TYPE
        SYNTAX      Integer32 (0..7)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The priority of interface which will be used in testing datagram."
        DEFVAL { 0 }
        ::= { zxAnMulticastIfTestEntry 11 }

    zxAnMulticastIfTestDuration OBJECT-TYPE
        SYNTAX      Integer32 (1..300)
        UNITS       "Seconds"        
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The duration of test."
        DEFVAL { 10 }
        ::= { zxAnMulticastIfTestEntry 12 } 
                            
    zxAnMulticastIfTestStatus OBJECT-TYPE
        SYNTAX      INTEGER 
            {
                notStarted(1),
                inProgress(2),
                success(3),
                failed(4)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The status of test. Agent need keep this parameter updated so that
            manager can get the latest status of test by polling.

            notStarted(1) - test is not started
            inProgress(2) - test is in progress
            success(3) - test is completed successfully
            failed(4) - test failed
            "
        ::= { zxAnMulticastIfTestEntry 20 }
        
    zxAnMulticastIfTestFailedReason OBJECT-TYPE
        SYNTAX      INTEGER 
            {
                none(1),
                pvcNotExist(2),
                mvlanNotExist(3),
                groupNotExist(4),
                groupInvalid(5),
                parameterError(6),
                noTrafficDetected(7),
                joinFailed(8),
                leaveFailed(9),
                setAclFailed(10),
                setLoopbackFailed(11),
                getStatsFailed(12),
                hardwareNotSupport(13),
                unknown(255)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The failed reason of test.

            none(1)                - No error.
            pvcNotExist(2)         - Specified PVC does not exist.
            mvlanNotExist(3)       - Specified MVLAN does not exist.
            groupNotExist(4)       - Specified multicast group does not exist.
            groupInvalid(5)        - Specified multicast group is invalid.
            parameterError(6)      - parameters is invalid.       
            noTrafficDetected(7)   - No multicast traffic is detected.
            joinFailed(8)          - Port join group failed.
            leaveFailed(9)         - Port leave group failed.
            setAclFailed(10)       - Fail to set acl.
            setLoopbackFailed(11)  - Fail to set loopback.
            getStatsFailed(12)     - Fail to get muticast statistics.
            hardwareNotSupport(13) - Hardware does not support.
            unknown(255)           - Unknown error.
            "
        ::= { zxAnMulticastIfTestEntry 21 }
         
    zxAnMulticastIfTestBwAfterJoin OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The bandwidth of multicast traffic after join operation.
             Notes:there is a possibility that the units of this object maybe 
             is different, so the units are not specified but can be directly 
             obtained from zxAnMulticastIfTestBwUnit."
        ::= { zxAnMulticastIfTestEntry 23 }

    zxAnMulticastIfTestBwAfterLeave OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The bandwidth of multicast traffic after leave operation.             
             Notes:there is a possibility that the units of this object maybe 
             is different, so the units are not specified but can be directly 
             obtained from zxAnMulticastIfTestBwUnit."
        ::= { zxAnMulticastIfTestEntry 24 }
        
    zxAnMulticastIfTestBwUnit OBJECT-TYPE
        SYNTAX      INTEGER 
            {
                pps(1),
                kbps(2)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The unit of bandwidth of multicast traffic."
        ::= { zxAnMulticastIfTestEntry 25 }
 
    zxAnMulticastIfTestMcastPkts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Multicast packets counter of successful test."
        ::= { zxAnMulticastIfTestEntry 26 }  
                       
    zxAnMulticastIfTestAction OBJECT-TYPE
        SYNTAX      INTEGER 
            {
                start(1),
                stop(2)
            }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The object is used to start or stop test. The object could be
            specified when creating an entry, also could be specified alone in a
            SET operation.

            start(1) - Start the test.
            stop(2)  - Stop the test.
            "
        ::= { zxAnMulticastIfTestEntry 30 }
    
    zxAnMulticastIfTestRowStatus   OBJECT-TYPE
        SYNTAX         RowStatus
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
            "The status of this conceptual row.

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

END