-- *****************************************************************
-- MY-MULTICAST-MIB.mib:  My Multicast MIB file
--
-- $Copyright$
-- 
-- *****************************************************************


MY-MULTICAST-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, experimental, Counter32, Gauge32,
        Integer32, IpAddress, TimeTicks  FROM SNMPv2-SMI
        RowStatus, DisplayString,TruthValue            FROM SNMPv2-TC
        myMgmt            FROM MY-SMI
        InterfaceIndex                   FROM IF-MIB
        VlanId
                FROM Q-BRIDGE-MIB
        IfIndex
                FROM MY-TC
        IANAipRouteProtocol,IANAipMRouteProtocol     FROM IANA-RTPROTO-MIB
        MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF;
 
myMultMIB MODULE-IDENTITY
    LAST-UPDATED "200301200000Z"
    ORGANIZATION "$Company$"
    CONTACT-INFO
        "
        Tel: $Telephone$ 
        
        E-mail: $E-mail$"
    DESCRIPTION
        "This module defines my multicast mibs."
    REVISION      "200301200000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { myMgmt 28}

myMultMIBObjects OBJECT IDENTIFIER ::= { myMultMIB 1 }
        
myIpMRouteInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyIpMRouteInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table containing multicast routing
         information specific to interfaces."
    ::= { myMultMIBObjects 1 }

myIpMRouteInterfaceEntry OBJECT-TYPE
    SYNTAX     MyIpMRouteInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) containing the multicast routing
         information for a particular interface."
    INDEX      { myIpMRouteInterfaceIfIndex }
    ::= { myIpMRouteInterfaceTable 1 }

MyIpMRouteInterfaceEntry ::= SEQUENCE {
    myIpMRouteInterfaceIfIndex          InterfaceIndex,
    myIpMRouteInterfaceTtl              Integer32,
    myIpMRouteInterfaceProtocol         IANAipMRouteProtocol,
    myIpMRouteInterfaceRateLimit        Integer32,
    myIpMRouteInterfaceInMcastOctets    Counter32,
    myIpMRouteInterfaceOutMcastOctets   Counter32,
    myIpMRouteInterfaceHCInMcastOctets  Counter64,
    myIpMRouteInterfaceHCOutMcastOctets Counter64,
    myIpMRouteBoundaryAclName           DisplayString
    }

myIpMRouteInterfaceIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The ifIndex value of the interface for which this entry
         contains information."
    ::= { myIpMRouteInterfaceEntry 1 }

myIpMRouteInterfaceTtl OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The datagram TTL threshold for the interface. Any IP
         multicast datagrams with a TTL less than this threshold will
         not be forwarded out the interface. The default value of 0
         means all multicast packets are forwarded out the
         interface."
    DEFVAL     { 0 }
    ::= { myIpMRouteInterfaceEntry 2 }

myIpMRouteInterfaceProtocol OBJECT-TYPE
    SYNTAX     IANAipMRouteProtocol
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The routing protocol running on this interface."
    ::= { myIpMRouteInterfaceEntry 3 }

myIpMRouteInterfaceRateLimit OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The rate-limit, in kilobits per second, of forwarded
         multicast traffic on the interface.  A rate-limit of 0
         indicates that no rate limiting is done."
    DEFVAL     { 0 }
    ::= { myIpMRouteInterfaceEntry 4 }

myIpMRouteInterfaceInMcastOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of octets of multicast packets that have arrived
         on the interface, including framing characters.  This object
         is similar to ifInOctets in the Interfaces MIB, except that
         only multicast packets are counted."
    ::= { myIpMRouteInterfaceEntry 5 }

myIpMRouteInterfaceOutMcastOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of octets of multicast packets that have been
         sent on the interface."
    ::= { myIpMRouteInterfaceEntry 6 }

myIpMRouteInterfaceHCInMcastOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of octets of multicast packets that have arrived
         on the interface, including framing characters.  This object
         is a 64-bit version of ipMRouteInterfaceInMcastOctets.  It
         is similar to ifHCInOctets in the Interfaces MIB, except
         that only multicast packets are counted."
    ::= { myIpMRouteInterfaceEntry 7 }

myIpMRouteInterfaceHCOutMcastOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of octets of multicast packets that have been
         sent on the interface.  This object is a 64-bit version of
         ipMRouteInterfaceOutMcastOctets."
    ::= { myIpMRouteInterfaceEntry 8 }

myIpMRouteBoundaryAclName   OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION      
        "The name of an access list."
    ::= { myIpMRouteInterfaceEntry 9 }
    
myIpRpfTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyIpRpfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the router's scoped
         multicast address boundaries."
    ::= { myMultMIBObjects 2 }  
    
myIpRpfEntry OBJECT-TYPE
    SYNTAX     MyIpRpfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the starIpRpfTable
         representing a scoped boundary."
    INDEX      { myIpRpfSourceAddress}
    ::= { myIpRpfTable 1 }
MyIpRpfEntry ::= SEQUENCE {
    myIpRpfSourceAddress                 IpAddress,
    myIpRpfInterface                     InterfaceIndex,
    myIpRpfNeighborAddress               IpAddress,
    myIpRpfRouteAddress                  IpAddress,
    myIpRpfRouteMask                     IpAddress,
    myIpRpfType                          Integer32
    }

myIpRpfSourceAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "source address that this information concerns."
    ::= { myIpRpfEntry 1 }

myIpRpfInterface   OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "For the given source, interface from which the 
         router expects to get packets."
    ::= { myIpRpfEntry 2 }
    
myIpRpfNeighborAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "For given source, neighbor from which the router expects to get
         packets."
    ::= { myIpRpfEntry 3 }

myIpRpfRouteAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Route address and mask that matched against this source."
    ::= { myIpRpfEntry 4 }
    
myIpRpfRouteMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Route address and mask that matched against this source."
    ::= { myIpRpfEntry 5 }

myIpRpfType    OBJECT-TYPE
    SYNTAX     Integer32{unicast(1),dvmrp(2)}
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Routing table from which this route was obtained, either unicast,
         or  DVMRP mroutes."
    ::= { myIpRpfEntry 6 }

myMPingTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyMPingEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "generate multicast traffic in the lab to test the multicast 
         tree since it pings all members of the group, and all members
         respond."
    ::= { myMultMIBObjects 3 }  
    
myMPingEntry OBJECT-TYPE
    SYNTAX     MyMPingEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the starMPingTable."
    INDEX      { myMPingIndex ,myMPingGroupAddress ,myMPingGroupMember}
    ::= { myMPingTable 1 }
    
MyMPingEntry ::= SEQUENCE {
    myMPingIndex                          Integer32,
    myMPingGroupAddress                   IpAddress,
    myMPingGroupMember                    IpAddress,
    myMPingResponseTime                   TimeTicks,
    myMPingDataLength                     Unsigned32,
    myMPingTimeOuts                       Unsigned32,       
    myMPingCompleted                      TruthValue,
    myMPingEntryStauts                    RowStatus    
    }
    
myMPingIndex OBJECT-TYPE
    SYNTAX Integer32(1..2147483647)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Object which specifies a unique entry in the
         myPingTable.  A management station wishing
         to initiate a ping operation should use a
         pseudo-random value for this object when creating
         or modifying an instance of a myPingEntry.
         The RowStatus semantics of the myPingEntryStatus
         object will prevent access conflicts."
    ::= { myMPingEntry 1 }
        
myMPingGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The address of group."
    ::= { myMPingEntry 2 }

myMPingGroupMember OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The address of Member."
    ::= { myMPingEntry 3 }

myMPingResponseTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The response time of member."
    ::= { myMPingEntry 4 }

myMPingDataLength OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Pinged ICMP echo datagram's data length."
    DEFVAL { 1500 }
    ::= { myMPingEntry 5 }

myMPingTimeOuts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION 
        "Ping but no echo from required address, the time last
         for time out, in milliseconds."
    DEFVAL { 1000 }
    ::= { myMPingEntry 6 }

myMPingCompleted OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "While the ping process has completed the value of this field
         will be true(1), else false(2)."
    ::= { myMPingEntry 7 }
    
myMPingEntryStauts OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "entry status for this list."
    ::= { myMPingEntry 8 }

myIpMRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyIpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table containing multicast routing
         information for IP datagrams sent by particular sources to
         the IP multicast groups known to this router."
    ::= { myMultMIBObjects 4 }

myIpMRouteEntry OBJECT-TYPE
    SYNTAX     MyIpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) containing the multicast routing
         information for IP datagrams from a particular source and
         addressed to a particular IP multicast group address.
         Discontinuities in counters in this entry can be detected by
         observing the value of ipMRouteUpTime."
    INDEX      { myIpMRouteGroup,
                 myIpMRouteSource,
                 myIpMRouteSourceMask}
    ::= { myIpMRouteTable 1 }

MyIpMRouteEntry ::= SEQUENCE {
    myIpMRouteGroup                 IpAddress,
    myIpMRouteSource                IpAddress,
    myIpMRouteSourceMask            IpAddress,
    myIpMRouteRP                    IpAddress,
    myIpMRoutePruneFlag             TruthValue,
    myIpMRouteSparseFlag            TruthValue,
    myIpMRouteConnectedFlag         TruthValue,
    myIpMRouteLocalFlag             TruthValue,
    myIpMRouteRegisterFlag          TruthValue,
    myIpMRouteRpFlag                TruthValue,
    myIpMRouteSptFlag               TruthValue,
    myIpMRouteInLimit               Integer32,
    myIpMRouteLifeAvg               Integer32,
    myIpMrouteGroupPktsCount        Integer32,
    myIpMrouteSouceCount            Integer32,
    myIpMrouteRpPkts                Integer32,
    myIpMrouteRpPktsPerSec          Integer32,
    myIpMrouteRpAvgPktsSize         Integer32,
    myIpMrouteRpKilobitsPerSec      Integer32,
    myIpMrouteSoucePkts             Integer32,
    myIpMrouteSoucePktsPerSec       Integer32,
    myIpMrouteSouceAvgPktsSize      Integer32,
    myIpMrouteSouceKilobitsPerSec   Integer32
    }

myIpMRouteGroup OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The address of group."
    ::= { myIpMRouteEntry 1 }  

myIpMRouteSource OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The address of Souce."
    ::= { myIpMRouteEntry 2 }

myIpMRouteSourceMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The Mask of Souce address."
    ::= { myIpMRouteEntry 3 }

myIpMRouteRP OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The address of RP Route."
    ::= { myIpMRouteEntry 4 }

myIpMRoutePruneFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicates whether this route is pruned. A pruned
         route is one that has an empty outgoing interface list or
         all interfaces are in Pruned state. A multicast packet
         that matches a pruned route doesn't get forwarded."
    ::= { myIpMRouteEntry 5 }

myIpMRouteSparseFlag OBJECT-TYPE
    SYNTAX     TruthValue   
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicating PIM multicast routing protocol
         sparse-mode (versus dense-mode).  In sparse-mode, packets
         are forwarded only out interfaces that have been joined.
         In dense-mode, they are forwarded out all interfaces that
         have not been pruned."
    ::= { myIpMRouteEntry 6 }
 
myIpMRouteConnectedFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicating whether there is a directly connected
         member for a group attached to the router."
    ::= { myIpMRouteEntry 7 }

myIpMRouteLocalFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicating whether local system is a member of a
         group on any interface."
    ::= { myIpMRouteEntry 8 }

myIpMRouteRegisterFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicates whether to send registers for the
         entry. A first hop router directly connected to a
         multicast source host, as well as a border router on the
         boundary of two domains running different multicast
         routing protocols, encapsulates packets to be sent on the
         shared tree. This is done until the RP sends Joins back to
         this router."
    ::= { myIpMRouteEntry 9 }

myIpMRouteRpFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicating whether there is a Prune state for
         this source along the shared tree."
    ::= { myIpMRouteEntry 10 }
 
myIpMRouteSptFlag OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Boolean, indicating whether data is being received on the
         SPT tree, ie the Shortest Path Tree."
    ::= { myIpMRouteEntry 11 }

myIpMRouteInLimit OBJECT-TYPE
    SYNTAX     Integer32 (0..2147483647)
    UNITS      "Kbits/second"
    MAX-ACCESS read-only
    STATUS     obsolete
    DESCRIPTION
        "Incoming interface's limit for rate limiting data
         traffic, in Kbps. "
    ::= { myIpMRouteEntry 12 }

myIpMRouteLifeAvg  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The average of data traffic."
    ::= { myIpMRouteEntry 13 }

myIpMrouteGroupPktsCount  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The count of group packets."
    ::= { myIpMRouteEntry 14 }

myIpMrouteSouceCount  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The count of souce."
    ::= { myIpMRouteEntry 15 }

myIpMrouteRpPkts  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The packets count of Rp-Tree ."
    ::= { myIpMRouteEntry 16 }

myIpMrouteRpPktsPerSec  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The packets count which Rp-Tree send in one second."
    ::= { myIpMRouteEntry 17 }

myIpMrouteRpAvgPktsSize  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The average packets size which Rp-Tree send ."
    ::= { myIpMRouteEntry 18 }

myIpMrouteRpKilobitsPerSec   OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Kilobits of Rp-Tree send in one second ."
    ::= { myIpMRouteEntry 19 }

myIpMrouteSoucePkts  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The packets count of souce ."
    ::= { myIpMRouteEntry 20 }

myIpMrouteSoucePktsPerSec  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The packets count which souce send in one second."
    ::= { myIpMRouteEntry 21 }

myIpMrouteSouceAvgPktsSize  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The average packets size which souce send ."
    ::= { myIpMRouteEntry 22 }

myIpMrouteSouceKilobitsPerSec   OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Kilobits of Souce send in one second ."
    ::= { myIpMRouteEntry 23 }  

--
--mrinfo table
--
myMrinfoTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyMrinfoEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table containing multicast routing
         information for PIM neighbor."
    ::= { myMultMIBObjects 5 }

myMrinfoEntry OBJECT-TYPE
    SYNTAX     MyMrinfoEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) of starMrinfoTable."
    INDEX      { myMrinfoIfAddress}
    ::= { myMrinfoTable 1 }

MyMrinfoEntry ::= SEQUENCE {
    myMrinfoIfAddress        IpAddress,     
    myMrinfoNeighbor       IpAddress,
    myMrinfoTtlThreshold   Integer32,
    myMrinfoMetricOffset   Integer32,
    myMrinfoQuerier        TruthValue,
    myMrinfoDown           TruthValue,
    myMrinfoLeaf           TruthValue
    }    
 
myMrinfoIfAddress  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The address of Interface Router to request."
    ::= { myMrinfoEntry 1 }

myMrinfoNeighbor  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The address of Interface neighbor,if there is no neigbor then 
         return 0.0.0.0."
    ::= { myMrinfoEntry 2 }

myMrinfoTtlThreshold  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The datagram TTL threshold for the interface. Any IP
         multicast datagrams with a TTL less than this threshold will
         not be forwarded out the interface. The default value of 0
         means all multicast packets are forwarded out the
         interface."
    ::= { myMrinfoEntry 3 }

myMrinfoMetricOffset  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Value added to the metric of a DVMRP route advertised in 
         a report message."
    ::= { myMrinfoEntry 4 }
    
myMrinfoQuerier  OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "If this interface is querier then the value of this field
         will be true(1), else false(2)."
    ::= { myMrinfoEntry 5 }
    
myMrinfoDown  OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "If this interface is down then the value of this field
         will be true(1), else false(2)."
    ::= { myMrinfoEntry 6 }

myMrinfoLeaf  OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "If locoal switch  is leaf switch  then the value of this field
         will be true(1), else false(2)."
    ::= { myMrinfoEntry 7 }
    
--
--multicast vlan id Table
--
myMultVidTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MyMultVidEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table containing multicast routing
         vlan id for interface."
    ::= { myMultMIBObjects 6 }

myMultVidEntry OBJECT-TYPE
    SYNTAX     MyMultVidEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) of myMultVidTable."
    INDEX      { myMultInterfaceIfIndex }
    ::= { myMultVidTable 1 }

MyMultVidEntry ::= SEQUENCE {
    myMultInterfaceIfIndex        IfIndex,  
    myMultVlan                    VlanId                
    }    
 
myMultInterfaceIfIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            " "
        ::= { myMultVidEntry 1 } 

myMultVlan  OBJECT-TYPE
    SYNTAX     VlanId    
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The value indicate the VID of the vlan which that this port 
         belong to. This field is effective for only trunk port.The 
         default value indicate the VID of the native vlan of that 
         this port."
    ::= { myMultVidEntry 2 }

-- units of conformance

myMultMIBConformance OBJECT IDENTIFIER ::= { myMultMIB 2 }
myMultMIBCompliances OBJECT IDENTIFIER ::= { myMultMIBConformance 1 }
myMultMIBGroups      OBJECT IDENTIFIER ::= { myMultMIBConformance 2 }

-- compliance statements
myMultMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for entities which implement
         the My MULTICAST MIB"
    MODULE  -- this module
    MANDATORY-GROUPS {
        myIpMRouteInterfaceMIBGroup,    
        myIpRpfMIBGroup,
        myMPingMIBGroup,
        myIpMRouteMIBGroup,
        myMrinfoMIBGroup,
        myMultVidMIBGroup
        }
    ::= { myMultMIBCompliances 1 }

-- conformance information

myIpMRouteInterfaceMIBGroup OBJECT-GROUP
    OBJECTS {
    myIpMRouteInterfaceIfIndex,
    myIpMRouteInterfaceTtl,
    myIpMRouteInterfaceProtocol,
    myIpMRouteInterfaceRateLimit,
    myIpMRouteInterfaceInMcastOctets,
    myIpMRouteInterfaceOutMcastOctets,
    myIpMRouteInterfaceHCInMcastOctets,
    myIpMRouteInterfaceHCOutMcastOctets,
    myIpMRouteBoundaryAclName
    }
    STATUS  current
    DESCRIPTION
        "A collection of IP multicast route interface managment."
    ::= { myMultMIBGroups 1 }

myIpRpfMIBGroup OBJECT-GROUP
    OBJECTS {
    myIpRpfSourceAddress,
    myIpRpfInterface,
    myIpRpfNeighborAddress,
    myIpRpfRouteAddress,
    myIpRpfRouteMask,
    myIpRpfType
    }
    STATUS  current
    DESCRIPTION
        "A collection of IP RPF managment."
    ::= { myMultMIBGroups 2 }

myMPingMIBGroup OBJECT-GROUP
    OBJECTS {
    myMPingIndex,
    myMPingGroupAddress,
    myMPingGroupMember,
    myMPingResponseTime,
    myMPingDataLength,
    myMPingTimeOuts,       
    myMPingCompleted,
    myMPingEntryStauts    
    }
    STATUS  current
    DESCRIPTION
        "A collection of multicast ping managment."
    ::= { myMultMIBGroups 3 }

myIpMRouteMIBGroup OBJECT-GROUP
    OBJECTS {
    myIpMRouteGroup,
    myIpMRouteSource,
    myIpMRouteSourceMask,
    myIpMRouteRP,
    myIpMRoutePruneFlag,
    myIpMRouteSparseFlag,
    myIpMRouteConnectedFlag,
    myIpMRouteLocalFlag,
    myIpMRouteRegisterFlag,
    myIpMRouteRpFlag,
    myIpMRouteSptFlag,
    myIpMRouteInLimit,
    myIpMRouteLifeAvg,
    myIpMrouteGroupPktsCount,
    myIpMrouteSouceCount,
    myIpMrouteRpPkts,
    myIpMrouteRpPktsPerSec,
    myIpMrouteRpAvgPktsSize,
    myIpMrouteRpKilobitsPerSec,
    myIpMrouteSoucePkts,
    myIpMrouteSoucePktsPerSec,
    myIpMrouteSouceAvgPktsSize,
    myIpMrouteSouceKilobitsPerSec
    }
    STATUS  current
    DESCRIPTION
        "A collection of IP multicast route managment."
    ::= { myMultMIBGroups 4 }

myMrinfoMIBGroup OBJECT-GROUP
    OBJECTS {
    myMrinfoIfAddress,     
    myMrinfoNeighbor,
    myMrinfoTtlThreshold,
    myMrinfoMetricOffset,
    myMrinfoQuerier,
    myMrinfoDown,
    myMrinfoLeaf
    }
    STATUS  current
    DESCRIPTION
        "A collection of multicast information"
    ::= { myMultMIBGroups 5 } 

myMultVidMIBGroup OBJECT-GROUP
    OBJECTS {
    myMultInterfaceIfIndex,  
    myMultVlan      
    }
    STATUS  current
    DESCRIPTION
        "A collection of multicast vid information"
    ::= { myMultMIBGroups 6 }            
END

