
--------------------------------------------------------------------------------
-- File Name : ZTE-AN-MLD-MIB.mib
-- Date      : 2009-09-18
-- Author    : ZTE Nms dept.

--
-- Zte MLD Mib for Access Node
--
--
--------------------------------------------------------------------------------


ZTE-AN-MLD-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,NOTIFICATION-TYPE,
        Integer32,Gauge32,Counter32
                                                            FROM SNMPv2-SMI
        DisplayString,TruthValue,RowStatus                  FROM SNMPv2-TC
        InetAddress,InetAddressType                         FROM INET-ADDRESS-MIB         
        ZxAnIfindex,ZxAnPortList,ZxAnIdList,zxAn            FROM ZTE-AN-TC-MIB;


zxAnMldMib MODULE-IDENTITY
    LAST-UPDATED    "200609051500Z"
    ORGANIZATION "ZTE Corporation"
    CONTACT-INFO "ZTE NMS dept.
                  Su Chunshan   68896292,
                  Zeng Nanxi    68896250,
                  Ma Jian       68896249       "
    DESCRIPTION  "This MIB defines Description of zte Mld service managed objects. "
    ::= {zxAn 29}

zxAnMldObjects         OBJECT IDENTIFIER ::= {zxAnMldMib 1}
zxAnMldTrapObjects    OBJECT IDENTIFIER ::= {zxAnMldMib 2}

zxAnMld               OBJECT IDENTIFIER ::= {zxAnMldObjects 1}
zxAnMldGlobal         OBJECT IDENTIFIER ::= {zxAnMld 1}
zxAnMldVplsMulticastObjects  OBJECT IDENTIFIER ::= {zxAnMld 50}

--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.zxAnMld global mgmt objects
-- 2.zxAnMldPortTable
-- 3.zxAnMldMvlanTable
-- 4.zxAnMldMvlanPortListTable
-- 5.zxAnMldGroupTable
-- 6.zxAnMldGroupPortListTable
-- 7.zxAnMldPortActiveGroupTable
-- 8.zxAnMldParamListCmdTable
-- 9.zxAnMldCounterTable
-- 10.zxAnMldVplsMulticastObjects
-- 11.zxAnMld Trap
------------------------------------------------------------------------------

------------------------------------------------------------------------------
-- 1.zxAnMld global mgmt objects
------------------------------------------------------------------------------        
        
    zxAnMldAdminStatus   OBJECT-TYPE
        SYNTAX          INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "The administrative status of global mld service."
        DEFVAL { enable }
        ::= { zxAnMldGlobal 1 }

    zxAnMldAging  OBJECT-TYPE
        SYNTAX          Integer32 (30..3600)
        UNITS           "seconds"
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "The timeout period in seconds for aging out Multicast Groups
             dynamically learned with mld.  Note that aging operates
             on a per interface per VLAN per multicast group basis.
             The value is 0  means that no mld aging."
        DEFVAL { 300 }
        ::= { zxAnMldGlobal 2 }
        
    zxAnMldWorkingMode  OBJECT-TYPE
        SYNTAX          INTEGER
                        {
                            proxy(1),
                            routing(2),
                            snooping(3)
                        }
        MAX-ACCESS      read-write
        STATUS          deprecated
        DESCRIPTION
            "Mld working mode, mld entity can work as a proxy,routing
            or snooping. "
        DEFVAL { proxy }
        ::= { zxAnMldGlobal 3 }        

    zxAnMldMcastInAllVlan  OBJECT-TYPE
        SYNTAX      INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "enable(1): multicast forward data in all vlans.
             disable(2): multicast play role in their vlans only "
        DEFVAL { enable }
        ::= { zxAnMldGlobal 4 }

    zxAnMldDefaultMvlan OBJECT-TYPE
        SYNTAX      Integer32(0..4095)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Default multicast vlan ID.
            It is used to auto config (add or delete) multicast group to this
            default Mvlan.That is if this varible is set then all the operation
            ( add or delete) about a group will not need to operate mvlan manually
            again to add or delete group to (from) a mvlan.

            The agent should add or delete a group to (from) the default mvlan
            automatically.

            0 means no default multicast vlan.
            "
        DEFVAL { 1 }
        ::= { zxAnMldGlobal 5 }

    zxAnMldAutoConfigGrpToDefaultMvlan OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable/disable auto add or delete grp to default mvlan.If it is
            enable(1),zxAnMldDefaultMvlan must be set a non zero value at first."
        DEFVAL { enable }
        ::= { zxAnMldGlobal 6 }

    zxAnMldUserSideRoutingIp  OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            " The routing ip for user side when the device is looked as a mld router."
        ::= { zxAnMldGlobal 7 }

    zxAnMldBandwidthCtrl OBJECT-TYPE
        SYNTAX          INTEGER{
            enable(1),
            disable(2)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Adminstrative status of bandwidth traffic control for multicast 
             service.  "
        DEFVAL { disable }
         ::= { zxAnMldGlobal 8 }   
   
    zxAnMldRobustnessVariable  OBJECT-TYPE
        SYNTAX          Integer32 (2..5)
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "MLD proxy robustness variable."
        DEFVAL { 2 }
        ::= { zxAnMldGlobal 9 }

    zxAnMldQueryInterval  OBJECT-TYPE
        SYNTAX          Integer32 (10..300)
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "MLD proxy general query interval."
        DEFVAL { 125 }
        ::= { zxAnMldGlobal 10 }

    zxAnMldQueryMaxResponseTime  OBJECT-TYPE
        SYNTAX          Integer32 (10..250)
        UNITS           "0.1second"
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "MLD proxy query max response time."
        DEFVAL { 100 }
        ::= { zxAnMldGlobal 11 }

    zxAnMldLastMembQueryInterval  OBJECT-TYPE
        SYNTAX          Integer32 (1..255)
        UNITS           "0.1second"
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "MLD proxy last member query interval."
        DEFVAL { 10 }
        ::= { zxAnMldGlobal 12 }  

    zxAnMldLastMembQueryCount  OBJECT-TYPE
        SYNTAX          Integer32 (2..5)
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "MLD proxy last member query count."
        DEFVAL { 2 }
        ::= { zxAnMldGlobal 13 }  
                                           
    zxAnMldUnsolicitedReportInterval  OBJECT-TYPE
        SYNTAX          Integer32 (1..60)
        UNITS           "seconds"
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "MLD proxy unsolicited report interval."
        DEFVAL { 10 }
        ::= { zxAnMldGlobal 14 }
        
    zxAnMldNetworkSideHostIp  OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "The host ip when working on proxy mode."        
        ::= { zxAnMldGlobal 15 }              
        
    zxAnMldForwCvlanOnOff   OBJECT-TYPE
    SYNTAX          INTEGER
    {
            enable(1),
            disable(2)
        }
    MAX-ACCESS      read-write
    STATUS current
    DESCRIPTION
        "MLD cvlan status."
    DEFVAL { disable }
    ::= { zxAnMldGlobal 16 }        
        
    zxAnMldHostTrackOnOff   OBJECT-TYPE
        SYNTAX          INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "Mld host tracking status."
            DEFVAL { disable }
        ::= { zxAnMldGlobal 17 }                   
              
    zxAnMldNonMatchGroup   OBJECT-TYPE
    SYNTAX          INTEGER
    {
        forward(1),
        drop(2)
    }
    MAX-ACCESS      read-write
    STATUS current
    DESCRIPTION
        "Mld non match group status."
    DEFVAL { drop }
    ::= { zxAnMldGlobal 18 }
                  
    zxAnMldGeneralLeaveGrpAddr  OBJECT-TYPE 
        SYNTAX InetAddress
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "The IP of general leave group addr."
        ::= { zxAnMldGlobal 19 }        
                                   
    zxAnMldLogOnOff   OBJECT-TYPE
        SYNTAX          INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "Mld log status."
        DEFVAL { disable }
        ::= { zxAnMldGlobal 20 } 
        
    zxAnMldGroupThreshold   OBJECT-TYPE
        SYNTAX          Integer32 (0..10000)
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "Max group threshold"
        DEFVAL { 10000 }
        ::= { zxAnMldGlobal 21 }
        
    zxAnMldMulticastServiceModel   OBJECT-TYPE
        SYNTAX          INTEGER
        {
            asm(1),
            ssm(2),
            asmAndSsm(3)
        }
        MAX-ACCESS      read-write
        STATUS current
        DESCRIPTION
            "This object indicates the IP multicast service model,
            its values are as follow:
            asm(1) --- ASM(Any-Source Multicast),defined in RFC 1112;
            ssm(2) --- SSM(Source-Specific Multicast),defined in RFC 3569;
            asmAndSsm(3) --- asm(1) + ssm(2)."
        DEFVAL { asm }
        ::= { zxAnMldGlobal 22 }
        
    zxAnMldV1AdminStatus    OBJECT-TYPE
        SYNTAX              INTEGER
            {
                accept(1),
                ignore(2),
                drop(3)
            }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The administrative status of MLDv1 packet."
        DEFVAL { accept }
        ::= { zxAnMldGlobal 23 }
        
    zxAnMldV2AdminStatus    OBJECT-TYPE
        SYNTAX              INTEGER
            {
                accept(1),
                ignore(2),
                drop(3)
            }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The administrative status of MLDv2 packet."
        DEFVAL { accept }
        ::= { zxAnMldGlobal 24 }
                                             
------------------------------------------------------------------------------
-- 2.zxAnMldPortTable
------------------------------------------------------------------------------
    zxAnMldPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMldPortEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table that contains all MLD informations of a logical port."
        ::= { zxAnMld 2 }

    zxAnMldPortEntry  OBJECT-TYPE
        SYNTAX     ZxAnMldPortEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A list of  entries of all MLD interface (logical port)information."
        INDEX  { zxAnMldIfIndex }
        ::= { zxAnMldPortTable 1 }

    ZxAnMldPortEntry ::= SEQUENCE {
        zxAnMldIfIndex                   ZxAnIfindex,    
        zxAnMldPortAdminStatus           INTEGER,
        zxAnMldPortProtoVersion          INTEGER,
        zxAnMldPortFastLeaveEnable       TruthValue,
        zxAnMldPortProxyIp               InetAddress,
        zxAnMldPortPacketLimit           Integer32,
        zxAnMldPortMaxBandwidth          Integer32,
        zxAnMldPortMaxConcurrGroups      Integer32,
        zxAnMldPortCurrActGroups         Gauge32,        
        zxAnMldPortQueryInterval         Integer32,
        zxAnMldPortLastMembQueryIntvl    Integer32,
        zxAnMldPortQueryMaxResponseTime  Integer32,
        zxAnMldPortEtherPriority         Integer32,           
        zxAnMldPortRobustness            Integer32,     
        zxAnMldMvlanAutoTranslateEnable  INTEGER
        }

    zxAnMldIfIndex            OBJECT-TYPE
        SYNTAX         ZxAnIfindex
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "The logical port No,ie. layer 2 bridge port."
        ::= { zxAnMldPortEntry 1}

    zxAnMldPortAdminStatus  OBJECT-TYPE
        SYNTAX          INTEGER
            {
                enable(1),
                disable(2),
                drop(3)
            }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The administrative status of port's MLD service."
        DEFVAL { enable }
        ::= { zxAnMldPortEntry 2 }

     zxAnMldPortProtoVersion  OBJECT-TYPE
        SYNTAX          INTEGER
            {
                mldv1(1),
                mldv2(2)
            }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The version of MLD protocol which is running on this port."
        DEFVAL { mldv2 }
        ::= { zxAnMldPortEntry 3 }

    zxAnMldPortFastLeaveEnable  OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The status of fast-leave property,
            true:enable fast leave;    false: disable fast leave."
        DEFVAL { true }
        ::= { zxAnMldPortEntry 4 }

    zxAnMldPortProxyIp  OBJECT-TYPE
        SYNTAX         InetAddress
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
            "zxAnMLDPortProxyIp is the ip of MLD proxy when zxAnMLDWorkingMode
            is MLD_proxy(1)."
        ::= { zxAnMldPortEntry 5 }

    zxAnMldPortPacketLimit  OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
            "The maxium MLD packet num can be processed in 1 second on this port,
             exceeding packets will be discarded."
        ::= { zxAnMldPortEntry 6 }

    zxAnMldPortMaxBandwidth     OBJECT-TYPE
        SYNTAX         Integer32
        UNITS           "kbps"
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
            "The maximum permitted traffic in this logical port."
         DEFVAL { 2048 }
         ::= { zxAnMldPortEntry 7 }

    zxAnMldPortMaxConcurrGroups OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The max multicast groups supported by this port concurrently."
        DEFVAL { 1 }
        ::= { zxAnMldPortEntry 8 }

    zxAnMldPortCurrActGroups OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The active multicast groups on this port currentlly."
         ::= { zxAnMldPortEntry 9 }

    zxAnMldPortQueryInterval  OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
            ""
        DEFVAL { 125 }
        ::= { zxAnMldPortEntry 10 }

    zxAnMldPortLastMembQueryIntvl  OBJECT-TYPE
        SYNTAX         Integer32 (100..65535)
        UNITS          "milli-seconds"
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
            "The last listener query interval is the maximum response delay
            inserted into Multicast-Address-Specific queries sent in response to
            done messages, in units of milliseconds.."
         DEFVAL { 1000 }
        ::= { zxAnMldPortEntry 11 }

    zxAnMldPortQueryMaxResponseTime  OBJECT-TYPE
        SYNTAX         Integer32 (100..65535)
        UNITS          "milli-seconds"        
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
            "Meaningful only in query messages, and specifies the maximum 
             allowed delay before sending a responding report, in units 
             of milliseconds."
         DEFVAL { 10000 }
        ::= { zxAnMldPortEntry 12 }
        
    zxAnMldPortEtherPriority  OBJECT-TYPE
        SYNTAX         Integer32 (0..7)
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
            "Ether priority assigned to the upstream MLD packet on the port. "
        ::= { zxAnMldPortEntry 13 }
        
    zxAnMldPortRobustness OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "The Robustness Variable allows tuning for the expected
            packet loss on a subnet.  If a subnet is expected to be
            lossy, the Robustness Variable may be increased.  MLD is
            robust to (Robustness Variable-1) packet losses."
        DEFVAL     { 2 }
        ::= { zxAnMldPortEntry 14 }        
                                    
    zxAnMldMvlanAutoTranslateEnable OBJECT-TYPE
        SYNTAX     INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Enable or disable the auto translating between mvlan and cvlan."
        DEFVAL     { disable }
        ::= { zxAnMldPortEntry 15 }               
                                                   
------------------------------------------------------------------------------
-- 3.zxAnMldMvlanTable
------------------------------------------------------------------------------
    zxAnMldMvlanTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnMldMvlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table that contains Multicast VLAN informations."
    ::= { zxAnMld 3 }

    zxAnMldMvlanEntry OBJECT-TYPE
        SYNTAX      ZxAnMldMvlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of  entries of all Multicast VLAN information."
        INDEX { zxAnMldVlanId  }
        ::= { zxAnMldMvlanTable 1 }

    ZxAnMldMvlanEntry ::= SEQUENCE {
        zxAnMldVlanId                  Integer32,
        zxAnMldMvlanAdminStatus        INTEGER,
        zxAnMldMvlanWorkMode           INTEGER,
        zxAnMldMvlanNetworkSideHostIp  InetAddress,
        zxAnMldMvlanGroupFilterEnable  TruthValue,
        zxAnMldMvlanMaxGroups          Integer32,
        zxAnMldMvlanCurrActGroups      Gauge32,
        zxAnMldMvlanPriority           Integer32,
        zxAnMldMvlanHostVersion        INTEGER,              
        zxAnMldMvlanRowStatus          RowStatus
    }

    zxAnMldVlanId OBJECT-TYPE
        SYNTAX      Integer32(1..4094)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Multicast vlan ID."
        ::= { zxAnMldMvlanEntry 1 }

     zxAnMldMvlanAdminStatus  OBJECT-TYPE
        SYNTAX          INTEGER
            {
                enable(1),
                disable(2),
                drop(3)
            }
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "The administrative status of MLD packet on this MVLAN."
        DEFVAL { enable }
        ::= { zxAnMldMvlanEntry 2 }

     zxAnMldMvlanWorkMode  OBJECT-TYPE
        SYNTAX          INTEGER
            {
                snooping(1),
                router(2),
                proxy(3)
            }
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "The Mld woke mode of this MVLAN."
        DEFVAL { proxy }
        ::= { zxAnMldMvlanEntry 3 }

     zxAnMldMvlanNetworkSideHostIp  OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "The host ip of this MVLAN when working on proxy mode."
        ::= { zxAnMldMvlanEntry 4 }

    zxAnMldMvlanGroupFilterEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "."
        ::= { zxAnMldMvlanEntry 5 }

    zxAnMldMvlanMaxGroups OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Max groups in mvlan,the value lies on the device's ability.
             Dsl8000 is 255, dsl9000 is 512,9800 is 1024.
            "
        DEFVAL { 512 }
        ::= { zxAnMldMvlanEntry 6 }

    zxAnMldMvlanCurrActGroups OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current active groups in mvlan"
        ::= { zxAnMldMvlanEntry 7 }

    zxAnMldMvlanPriority OBJECT-TYPE
        SYNTAX      Integer32(0..7)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Mld protocol packet's priority in proxy/router mode."
        DEFVAL { 0 }
        ::= { zxAnMldMvlanEntry 8 }
             
     zxAnMldMvlanHostVersion  OBJECT-TYPE
        SYNTAX          INTEGER
            {
                auto(1),             
                mldv1(2),
                mldv2(3)             
            }
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Mld version of host on proxy mode."
        DEFVAL { mldv1 }
        ::= { zxAnMldMvlanEntry 9 }           
        

    zxAnMldMvlanRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "RowStatus"
        ::= { zxAnMldMvlanEntry 20 }


------------------------------------------------------------------------------
-- 4.zxAnMldMvlanPortListTable
------------------------------------------------------------------------------
    zxAnMldMvlanPortListTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnMldMvlanPortListEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table that contains information about ports in a mvlan."
    ::= { zxAnMld 4 }

    zxAnMldMvlanPortListEntry OBJECT-TYPE
        SYNTAX      ZxAnMldMvlanPortListEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of  entries of information about ports in a mvlan."
        INDEX { zxAnMldVlanId,zxAnMldMvlanPortListShelf,zxAnMldMvlanPortListCard }
        ::= { zxAnMldMvlanPortListTable 1 }

    ZxAnMldMvlanPortListEntry ::= SEQUENCE {
        zxAnMldMvlanPortListShelf              Integer32,
        zxAnMldMvlanPortListCard               Integer32,
        zxAnMldMvlanPortSrcPortList            ZxAnPortList,
        zxAnMldMvlanPortRecvPortList           ZxAnPortList
    }


    zxAnMldMvlanPortListShelf  OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The shelf that contains the logical port list."
        ::= { zxAnMldMvlanPortListEntry 1 }

    zxAnMldMvlanPortListCard   OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The card that contains the logical port list."
        ::= { zxAnMldMvlanPortListEntry 2 }

    zxAnMldMvlanPortSrcPortList OBJECT-TYPE
        SYNTAX      ZxAnPortList
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Source port in mvlan"
        ::= { zxAnMldMvlanPortListEntry 3 }

    zxAnMldMvlanPortRecvPortList OBJECT-TYPE
        SYNTAX      ZxAnPortList
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Recieving port in mvlan"
        ::= { zxAnMldMvlanPortListEntry 4 }                  
                                                                  
------------------------------------------------------------------------------
-- 5.zxAnMldGroupTable
------------------------------------------------------------------------------
    zxAnMldGroupTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMldGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains multicast group."
         ::= { zxAnMld 5 }

    zxAnMldGroupEntry OBJECT-TYPE
        SYNTAX ZxAnMldGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of entries of all multicast group info.
             "
        INDEX { zxAnMldVlanId,zxAnMldSrcIp,zxAnMldGrpIp }
         ::= { zxAnMldGroupTable 1 }

    ZxAnMldGroupEntry  ::= SEQUENCE {
        zxAnMldSrcIp               InetAddress,
        zxAnMldGrpIp               InetAddress,
        zxAnMldGroupBandwidthCost  Integer32,
        zxAnMldGroupPrejoinEnable  TruthValue,
        zxAnMldGroupMaxHosts       Integer32,
        zxAnMldGroupActHosts       Integer32,           
        zxAnMldGroupSrcIp          InetAddress,
        zxAnMldGroupHostState      INTEGER,     
        zxAnMldGroupRowStatus      RowStatus
    }


    zxAnMldSrcIp     OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "Multicast source IpAddress."
         ::= { zxAnMldGroupEntry 1 }

    zxAnMldGrpIp     OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "Multicast group IpAddress."
         ::= { zxAnMldGroupEntry 2 }

    zxAnMldGroupBandwidthCost OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "kbps"
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Estimated Bandwidth cost by this group,it is used as a traffic
            and bandwidth control parameter."
         DEFVAL { 2048 }
         ::= { zxAnMldGroupEntry 3 }

    zxAnMldGroupPrejoinEnable OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "."
         DEFVAL { false }
         ::= { zxAnMldGroupEntry 4 }
         
    zxAnMldGroupMaxHosts OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Max User in this Multicast Group."
         ::= { zxAnMldGroupEntry 5 }

    zxAnMldGroupActHosts OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "Current User in this Multicast Group."
         ::= { zxAnMldGroupEntry 6 }
         
    zxAnMldGroupSrcIp OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "source ip."
         ::= { zxAnMldGroupEntry 7 }
         
    zxAnMldGroupHostState OBJECT-TYPE
        SYNTAX          INTEGER
        {
            nonMember(1),
            idleMember(2),
            delayingMember(3)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "host state in this Multicast Group."
        ::= { zxAnMldGroupEntry 8 }  
         
    zxAnMldGroupRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "RowStatus of this row."
         ::= { zxAnMldGroupEntry 15 }


------------------------------------------------------------------------------
-- 6.zxAnMldGroupPortListTable
------------------------------------------------------------------------------
    zxAnMldGroupPortListTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMldGroupPortListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains static and dynamic portlist in a mvlan group."
         ::= { zxAnMld 6 }

    zxAnMldGroupPortListEntry OBJECT-TYPE
        SYNTAX ZxAnMldGroupPortListEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of entries of all group portlist info.
             "
        INDEX {zxAnMldVlanId, zxAnMldSrcIp,zxAnMldGrpIp,
                zxAnMldMvlanPortListShelf,zxAnMldMvlanPortListCard }
         ::= { zxAnMldGroupPortListTable 1 }

    ZxAnMldGroupPortListEntry  ::= SEQUENCE {
        zxAnMldGroupStaticPortList      ZxAnPortList,
        zxAnMldGroupDynamicPortList     ZxAnPortList
    }

    zxAnMldGroupStaticPortList OBJECT-TYPE
        SYNTAX      ZxAnPortList
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "RowStatus of this row."
         ::= { zxAnMldGroupPortListEntry 1 }

    zxAnMldGroupDynamicPortList OBJECT-TYPE
        SYNTAX      ZxAnPortList
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "RowStatus of this row."
         ::= { zxAnMldGroupPortListEntry 2 }
             
------------------------------------------------------------------------------
--  7.zxAnMldPortActiveGroupTable
------------------------------------------------------------------------------        
    zxAnMldPortActiveGroupTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMldPortActiveGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "show Mld interface dynamic group list"
        ::= { zxAnMld 7 }

    zxAnMldPortActiveGroupEntry OBJECT-TYPE
        SYNTAX ZxAnMldPortActiveGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of  entries of all groups information by interface."
            INDEX {zxAnMldIfIndex,zxAnMldVlanId,zxAnMldGrpIp}
        ::= { zxAnMldPortActiveGroupTable 1 }

    ZxAnMldPortActiveGroupEntry ::= SEQUENCE {
        zxAnMldPortTypeInGroup   INTEGER
    } 

    zxAnMldPortTypeInGroup     OBJECT-TYPE
        SYNTAX         INTEGER{
            static(1),
            dynamic(2)
        }
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            ""
        ::= { zxAnMldPortActiveGroupEntry 1}                
                                      
------------------------------------------------------------------------------
-- 8.zxAnMldParamListCmdTable
------------------------------------------------------------------------------
    zxAnMldParamListCmdTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMldParamListCmdEntry 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "Operation command table for multicast port configuration like 
            param list,such as zxAnMldMvlanPortSrcPortList,
            zxAnMldMvlanPortRecvPortList and zxAnMldMvlanGroupStaticPortList.
            A single object such as mvlan will be added or removed to/from 
            zxAnMldMvlanPortSrcPortList through this table.
            "
         ::= { zxAnMld 8 }

    zxAnMldParamListCmdEntry  OBJECT-TYPE
        SYNTAX     ZxAnMldParamListCmdEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A list of  entries of zxAnMldMvlanPortParamListCmdEntry."
        INDEX  { zxAnMldParamListCmd }
         ::= { zxAnMldParamListCmdTable 1 }
         
    ZxAnMldParamListCmdEntry  ::= SEQUENCE {
        zxAnMldParamListCmd      INTEGER,
        zxAnMldParamObject       OBJECT IDENTIFIER     
    }
    
    zxAnMldParamListCmd OBJECT-TYPE
        SYNTAX INTEGER
                {
                    addSrcPortToMvlan(1),
                    delSrcPortFromMvlan(2),
                    addRecPortToMvlan(3),
                    delRecPortFromMvlan(4),
                    addStaticGroup(5),
                    delStaticGroup(6)                    
                }
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            " The command to operate param list of zxAnMvlanGroupPortListTable.
            Each command is related to each meaming of zxAnMvlanGroupStaticPortList.
              
        command           meaning of                     operation                                
                          zxAnMcastPortParamObjName         
        --------------------------------------------------------------------
        addSrcPortToMvlan(1)       Bind source port with mvlan  
        delSrcPortFromMvlan(2)     unbind source Port with mvlan
        addRecPortToMvlan(3)       bind recievingPort with mvlan
        delRecPortFromMvlan(4)    unbind recievingPort with mvlan    
        addStaticGroup(5)  Bind port with Static Multicast
        delStaticGroup(6)  unbind port with Static Multicast                  
            "
         ::= { zxAnMldParamListCmdEntry 1 }            
    
    zxAnMldParamObject OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " The value of object ID in param list,eg.
            addSrcPortToMvlan(1)       zxAnMldParamObject is 'mvid.ifid'
            delSrcPortFromMvlan(2)     zxAnMldParamObject is 'mvid.ifid'
            addRecPortToMvlan(3)       zxAnMldParamObject is 'mvid.ifid'
            delRecPortFromMvlan(4)     zxAnMldParamObject is 'mvid.ifid'
            addStaticGroup(5)          zxAnMldParamObject is 'mvid.srcip.gpip.ifid'
            delStaticGroup(6)          zxAnMldParamObject is 'mvid.srcip.gpip.ifid'   
            "
         ::= { zxAnMldParamListCmdEntry 2 }  
             
------------------------------------------------------------------------------
-- 9.zxAnMldCounterTable
------------------------------------------------------------------------------
    zxAnMldCounterTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMldCounterEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            ""
        ::= { zxAnMld 9 }

    zxAnMldCounterEntry  OBJECT-TYPE
        SYNTAX     ZxAnMldCounterEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            ""
        INDEX  { zxAnMldVlanId, zxAnMldIfIndex }
        ::= { zxAnMldCounterTable 1 }

    ZxAnMldCounterEntry ::= SEQUENCE {
        zxAnMldCounterReset            Integer32,
        zxAnMldCounterRxCommQuery      Counter32,
        zxAnMldCounterRxSpecialQuery   Counter32,
        zxAnMldCounterRxV1Report       Counter32,
        zxAnMldCounterRxV2Report       Counter32,
        zxAnMldCounterRxLeave          Counter32,
        zxAnMldCounterRxError          Counter32,
        zxAnMldCounterRxUnknown        Counter32,
        zxAnMldCounterTxCommQuery      Counter32,
        zxAnMldCounterTxSpecialQuery   Counter32,
        zxAnMldCounterTxV1Report       Counter32,
        zxAnMldCounterTxV2Report       Counter32,
        zxAnMldCounterTxLeave          Counter32,
        zxAnMldCounterDropRxCommQuery  Counter32,
        zxAnMldCounterDropRxSpecialQuery   Counter32,
        zxAnMldCounterDropRxV1Report   Counter32,
        zxAnMldCounterDropRxV2Report   Counter32,
        zxAnMldCounterDropRxLeave      Counter32,
        zxAnMldCounterDropRxUnknown    Counter32,
        zxAnMldCounterJoinSuccess      Counter32,
        zxAnMldCounterJoinFailure      Counter32
    }


    zxAnMldCounterReset OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            " Reset Mld counter when it is set to '1'."
         ::= { zxAnMldCounterEntry 1 }

    zxAnMldCounterRxCommQuery OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of general query packets received." 
         ::= { zxAnMldCounterEntry 2 }

    zxAnMldCounterRxSpecialQuery OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of specific group query packets received."
         ::= { zxAnMldCounterEntry 3 }

    zxAnMldCounterRxV1Report OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of MLDv1 report packets received."
         ::= { zxAnMldCounterEntry 4 }

    zxAnMldCounterRxV2Report OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of MLDv2 report packets received."
         ::= { zxAnMldCounterEntry 5 }

    zxAnMldCounterRxLeave OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of leaved packets received."
         ::= { zxAnMldCounterEntry 6 }

    zxAnMldCounterRxError OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of errored packets received."
         ::= { zxAnMldCounterEntry 7 }

    zxAnMldCounterRxUnknown OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of unknown packets received."
         ::= { zxAnMldCounterEntry 8 }

    zxAnMldCounterTxCommQuery OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of general query packets Transmitted."
         ::= { zxAnMldCounterEntry 9 }

    zxAnMldCounterTxSpecialQuery OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of specific group query packets Transmitted."
         ::= { zxAnMldCounterEntry 10 }

    zxAnMldCounterTxV1Report OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of MLDv1 report packets Transmitted."
         ::= { zxAnMldCounterEntry 11 }

    zxAnMldCounterTxV2Report OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of MLDv2 report packets Transmitted."
         ::= { zxAnMldCounterEntry 12 }

    zxAnMldCounterTxLeave OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of leaved packets Transmitted."
         ::= { zxAnMldCounterEntry 13 }

    zxAnMldCounterDropRxCommQuery OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of general query packets dropped."
         ::= { zxAnMldCounterEntry 14 }

    zxAnMldCounterDropRxSpecialQuery OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of specific group query packets dropped."
         ::= { zxAnMldCounterEntry 15 }

    zxAnMldCounterDropRxV1Report OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of MLDv1 report packets dropped."
         ::= { zxAnMldCounterEntry 16 }

    zxAnMldCounterDropRxV2Report OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of MLDv2 report packets dropped."
         ::= { zxAnMldCounterEntry 17 }

    zxAnMldCounterDropRxLeave OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of leaved packets dropped."
         ::= { zxAnMldCounterEntry 18 }

    zxAnMldCounterDropRxUnknown OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of unknown packets dropped."
         ::= { zxAnMldCounterEntry 19 }

    zxAnMldCounterJoinSuccess OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of joined success packets."
         ::= { zxAnMldCounterEntry 20 }

    zxAnMldCounterJoinFailure OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The number of joined failed packets."
         ::= { zxAnMldCounterEntry 21 }

--------------------------------------------------------------------------------          
-- 10.zxAnMldVplsMulticastObjects                      
--------------------------------------------------------------------------------
    zxAnMldVplsMvlanSrcPwTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnMldVplsMvlanSrcPwEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table that contains information about source pseudo wire in 
             a mvlan."
    ::= { zxAnMldVplsMulticastObjects 1 }
          
    zxAnMldVplsMvlanSrcPwEntry OBJECT-TYPE
        SYNTAX      ZxAnMldVplsMvlanSrcPwEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry for zxAnMldVplsMvlanSrcPwTable."
        INDEX { zxAnMldVlanId,zxAnMldVplsMvlanSrcPwName}
        ::= { zxAnMldVplsMvlanSrcPwTable 1 }   
        
    ZxAnMldVplsMvlanSrcPwEntry ::= SEQUENCE {
        zxAnMldVplsMvlanSrcPwName       DisplayString,    
        zxAnMldVplsMvlanSrcPwRowStatus  RowStatus
    }
    
    zxAnMldVplsMvlanSrcPwName  OBJECT-TYPE
        SYNTAX          DisplayString(SIZE(1..63))
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "Source pseudo wire name."
        ::= { zxAnMldVplsMvlanSrcPwEntry 1 }      
    
    zxAnMldVplsMvlanSrcPwRowStatus   OBJECT-TYPE
        SYNTAX         RowStatus
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
            "Row status of the Table."
        ::= { zxAnMldVplsMvlanSrcPwEntry 20 }    
--------------------------------------------------------------------------------
-- 11.zxAnMld Trap
--------------------------------------------------------------------------------
    zxAnMldGroupThreshExceeded NOTIFICATION-TYPE
        OBJECTS { zxAnMldGroupThreshold }
        STATUS             current
        DESCRIPTION
           "If Mld group number is up to threshold,system will raise this trap."
       ::= { zxAnMldTrapObjects 1 }            

    zxAnMldGroupThreshExceededCleared NOTIFICATION-TYPE
        OBJECTS { zxAnMldGroupThreshold }
        STATUS             current
        DESCRIPTION
           "This trap is to restore  zxAnMldGroupThreshExceeded trap."
       ::= { zxAnMldTrapObjects 2 }                
END
