Multicast Group Membership Discovery MIB

                                                       J. Chesterfield,
                                                                 Editor
Internet Draft                                          U. of Cambridge
                                                           Computer Lab
Document:
draft-ietf-magma-mgmd-mib-01.txt
Expires: July 2004                                        February 2004
                 Multicast Group Membership Discovery MIB


Status of this Memo

   This document is an Internet-Draft and is in full conformance
   with all provisions of Section 10 of RFC2026.


   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time.  It is inappropriate to use Internet-Drafts as
   reference material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
        http://www.ietf.org/ietf/1id-abstracts.txt
   The list of Internet-Draft Shadow Directories can be accessed at
        http://www.ietf.org/shadow.html.


Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes objects used for managing the Internet
   Group Management Protocol (IGMP) and the Multicast Listener
   Discovery (MLD) protocol.

Table of Contents
   1. Introduction....................................................2
   2. The Internet-Standard Management Framework......................2
   3. Overview........................................................2
   4. Definitions.....................................................2
   5. Security Considerations........................................26
   6. Contributors...................................................27
   7. Acknowledgements...............................................27
   8. Author's Address...............................................28
   9. References.....................................................28
   10. Full Copyright Statement......................................28

1. Introduction
   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes objects used for managing the Internet
   Group Management Protocol (IGMP), version 1 [5], version 2 [6] or
   version 3 [7] and the Multicast Listener Discovery (MLD) protocol
   version 1 [8] or version 2 [9]. Both protocols provide multicast

   Chesterfield            I-D - Expire July 2004             [Page 1]


               Multicast Group Membership Discovery MIB

   membership discovery capability, IGMP pertains to IP version 4
   clients, and MLD for IP version 6 clients. This version of the MIB
   supercedes both rfc2933 [10] and rfc3019 [11], incorporating a
   generic interface for both IGMP and MLD implementations, and changes
   to enable "source filtering" in multicast clients. The MIB
   encompasses both router and host nodes with relevant management
   objects defined for each.


2. The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [4].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [1], STD 58, RFC 2579 [2] and STD 58, RFC 2580
   [3].

3. Overview

   This MIB module contains seven tables:

     1. the MGMD Host Interface Table which contains one row for each
        interface on which MGMD is enabled on a host,

     2. the MGMD Router Interface Table which contains one row for each
        interface on which MGMD is enabled on a router,

     3. the MGMD Host Cache Table which contains one row for each IP
        multicast group for which there are members on a particular
        interface on a host,

     4. the MGMD Router Cache Table which contains one row for each IP
        multicast group for which there are members on a particular
        interface on a router,

     5. the reverse MGMD Host Table which contains one row for each interface
        for which there are active multicast groups on a host,

     6. the reverse MGMD Router Table which contains one row for each interface
        for which there are active multicast groups on a router,

     7. the MGMD SrcList Table which contains one row for each entry in
        the source filter record for an interface and multicast group
        pair.

   All tables are intended for EITHER routers or hosts as indicated by the
   name with the exception of the source list table which is applicable to both.

4. Definitions
MGMD-STD-MIB DEFINITIONS ::= BEGIN

IMPORTS

Chesterfield      Internet Draft - Expires July 2004          [Page 2]


               Multicast Group Membership Discovery MIB

    MODULE-IDENTITY, OBJECT-TYPE, mib-2, Counter32, Gauge32,
    Unsigned32, Integer32, TimeTicks FROM SNMPv2-SMI
    InetAddress, InetAddressType     FROM INET-ADDRESS-MIB
    RowStatus, TruthValue            FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF
    InterfaceIndexOrZero,
    InterfaceIndex                   FROM IF-MIB;

mgmdStdMIB MODULE-IDENTITY
    LAST-UPDATED "200302240000Z" -- October 24, 2003
    ORGANIZATION "IETF MAGMA Working Group."
    CONTACT-INFO
            " Julian Chesterfield
              University of Cambridge,
              Computer Laboratory,
              15 JJ Thompson Avenue,
              Cambridge,
              CB3 0FD
              UK

              EMail: julian.chesterfield@cl.cam.ac.uk"
    DESCRIPTION
            "The MIB module for MGMD Management."
    REVISION     "200310240000Z" -- October 24, 2003

    DESCRIPTION
            "New version of MGMD combining RFC 2933 and RFC 3019.
            Includes IGMPv3 and MLDv2 source filtering changes."
    ::= { mib-2 85 }


mgmdMIBObjects     OBJECT IDENTIFIER ::= { mgmdStdMIB 1 }

--
--  The MGMD Host Interface Table
--

mgmdHostInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MgmdHostInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the interfaces on which
             IGMP or MLD is enabled."
    ::= { mgmdMIBObjects 1 }

mgmdHostInterfaceEntry OBJECT-TYPE
    SYNTAX     MgmdHostInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) representing an interface on
            which IGMP or MLD is enabled."
    INDEX      { mgmdHostInterfaceIfIndex, mgmdHostInterfaceQuerierType }
    ::= { mgmdHostInterfaceTable 1 }

MgmdHostInterfaceEntry ::= SEQUENCE {
    mgmdHostInterfaceIfIndex               InterfaceIndex,
    mgmdHostInterfaceQuerierType           InetAddressType,

Chesterfield      Internet Draft - Expires July 2004          [Page 3]


               Multicast Group Membership Discovery MIB

    mgmdHostInterfaceQuerier               InetAddress,
    mgmdHostInterfaceStatus                RowStatus,
    mgmdHostInterfaceVersion               Unsigned32,
    mgmdHostInterfaceVersion1QuerierTimer  TimeTicks,
    mgmdHostInterfaceVersion2QuerierTimer  TimeTicks
}


mgmdHostInterfaceIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The ifIndex value of the interface for which IGMP or MLD
            is enabled. The table is indexed by the ifIndex value and
            the InetAddressType to allow for interfaces which may be
            configured in both IPv4 and IPv6 modes."
    ::= { mgmdHostInterfaceEntry 1 }

mgmdHostInterfaceQuerierType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address type of this interface. This entry along with
             the ifIndex value acts as the index to the mgmdHostInterface
             table. A physical interface may be configured in multiple
             modes concurrently, e.g. in IPv4 and IPv6 modes connected
             to the same interface, however the traffic is considered to
             be logically separate."
    ::= { mgmdHostInterfaceEntry 2 }

mgmdHostInterfaceQuerier OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address of the IGMP or MLD Querier on the IP subnet to
            which this interface is attached. The InetAddressType, e.g.
            IPv4 or IPv6, is identified by the mgmdHostInterfaceQuerierType
            variable in the mgmdHostInterface table."
    ::= { mgmdHostInterfaceEntry 3 }

mgmdHostInterfaceStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The activation of a row enables the host side of IGMP or MLD
            on the interface.  The destruction of a row disables the host
            side of IGMP or MLD  on the interface."
    ::= { mgmdHostInterfaceEntry 4 }

mgmdHostInterfaceVersion OBJECT-TYPE
    SYNTAX     Unsigned32 (1..3)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The maximum version of MGMD which the host can run on this interface.

Chesterfield      Internet Draft - Expires July 2004          [Page 4]


               Multicast Group Membership Discovery MIB

          A value of 1 is only applicable for IPv4, and indicates that the host
          only supports IGMPv1 on the interface. A value of 2 indicates that the
          host also supports IGMPv2 (for IPv4) or MLDv1 (for IPv6). A value of 3
          indicates that the host also supports IGMPv3 (for IPv4) or MLDv2 (for
          IPv6)."

The version of MGMD which is running on this interface.
            Value 1 applies to IGMPv1 hosts only. Value 2 applies
            To IGMPv2 and MLDv1 hosts, and value 3 applies to IGMPv3
            and MLDv2 hosts. This object can be used to configure a host
            capable of running either version.  For IGMP and MLD to function
            correctly, all routers on a LAN must be configured to run
            the same version on that LAN."
    DEFVAL     { 3 }
    ::= { mgmdHostInterfaceEntry 5 }

mgmdHostInterfaceVersion1QuerierTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time remaining until the host assumes that there are
            no MGMDv1 routers present on the interface.  While this is
            non-zero, the host will reply to all queries with version 1
            membership reports. This variable applies to MGMDv2 or 3 hosts
          that are forced to run in v1 for compatibility with v1 hosts
          or routers present on the interface. This object may only be present
            when the corresponding value of mgmdHostCacheAddressType is IPv6."
    ::= { mgmdHostInterfaceEntry 6 }

mgmdHostInterfaceVersion2QuerierTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time remaining until the host assumes that there are
            no MGMDv2 routers present on the interface.  While this is
            non-zero, the host will reply to all queries with version 1
            or 2 membership reports. This variable applies to MGMDv3 hosts
            that are forced to run in v2 for compatibility with v2 hosts
            or routers present on the interface."
    ::= { mgmdHostInterfaceEntry 7 }


--
--  The MGMD Router Interface Table
--

Multicast Group Membership Discovery MIB

mgmdRouterInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MgmdRouterInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the interfaces on which
             IGMP or MLD is enabled."
    ::= { mgmdMIBObjects 2 }


Chesterfield      Internet Draft - Expires July 2004          [Page 5]


               Multicast Group Membership Discovery MIB


mgmdRouterInterfaceEntry OBJECT-TYPE
    SYNTAX     MgmdRouterInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) representing an interface on
            which IGMP or MLD is enabled."
    INDEX      { mgmdRouterInterfaceIfIndex, mgmdRouterInterfaceQuerierType }
    ::= { mgmdRouterInterfaceTable 1 }

MgmdRouterInterfaceEntry ::= SEQUENCE {
    mgmdRouterInterfaceIfIndex               InterfaceIndex,
    mgmdRouterInterfaceQuerierType           InetAddressType,
    mgmdRouterInterfaceQuerier               InetAddress,
    mgmdRouterInterfaceQueryInterval         Unsigned32,
    mgmdRouterInterfaceStatus                RowStatus,
    mgmdRouterInterfaceVersion               Unsigned32,
    mgmdRouterInterfaceQueryMaxResponseTime  Unsigned32,
    mgmdRouterInterfaceQuerierUpTime         TimeTicks,
    mgmdRouterInterfaceQuerierExpiryTime     TimeTicks,
    mgmdRouterInterfaceWrongVersionQueries   Counter32,
    mgmdRouterInterfaceJoins                 Counter32,
    mgmdRouterInterfaceProxyIfIndex          InterfaceIndexOrZero,
    mgmdRouterInterfaceGroups                Gauge32,
    mgmdRouterInterfaceRobustness            Unsigned32,
    mgmdRouterInterfaceLastMembQueryIntvl    Unsigned32
}


mgmdRouterInterfaceIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The ifIndex value of the interface for which IGMP or MLD
            is enabled. The table is indexed by the ifIndex value and
            the InetAddressType to allow for interfaces which may be
            configured in both IPv4 and IPv6 modes."
    ::= { mgmdRouterInterfaceEntry 1 }


mgmdRouterInterfaceQuerierType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address type of this interface. This entry along with
             the ifIndex value acts as the index to the mgmdRouterInterface
             table. A physical interface may be configured in multiple
             modes concurrently, e.g. in IPv4 and IPv6 modes connected
             to the same interface, however the traffic is considered to
             be logically separate."
    ::= { mgmdRouterInterfaceEntry 2 }

mgmdRouterInterfaceQuerier OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-only
    STATUS     current

Chesterfield      Internet Draft - Expires July 2004          [Page 6]


               Multicast Group Membership Discovery MIB

    DESCRIPTION
            "The address of the IGMP or MLD Querier on the IP subnet to
            which this interface is attached. The InetAddressType, e.g.
            IPv4 or IPv6, is identified by the mgmdRouterInterfaceQuerierType
            variable in the mgmdRouterInterface table."
    ::= { mgmdRouterInterfaceEntry 3 }

mgmdRouterInterfaceQueryInterval OBJECT-TYPE
    SYNTAX     Unsigned32
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The frequency at which IGMP or MLD Host-Query packets are
            transmitted on this interface."
    DEFVAL     { 125 }
    ::= { mgmdRouterInterfaceEntry 4 }

mgmdRouterInterfaceStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The activation of a row enables the router side of IGMP or MLD
            on the interface.  The destruction of a row disables the router
            side of IGMP or MLD  on the interface."
    ::= { mgmdRouterInterfaceEntry 5 }

mgmdRouterInterfaceVersion OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The version of MGMD which is running on this interface.
            Value 1 applies to IGMPv1 routers only. Value 2 applies
            To IGMPv2 and MLDv1 routers, and value 3 applies to IGMPv3
            and MLDv2 routers.
            This object can be used to configure a router capable of
            running either version.  For IGMP and MLD to function
            correctly, all routers on a LAN must be configured to run
            the same version on that LAN."
    DEFVAL     { 3 }
    ::= { mgmdRouterInterfaceEntry 6 }

mgmdRouterInterfaceQueryMaxResponseTime OBJECT-TYPE
    SYNTAX     Unsigned32 (0..255)
    UNITS      "tenths of seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The maximum query response time advertised in MGMDv2 or v3
            queries on this interface."
    DEFVAL     { 100 }
    ::= { mgmdRouterInterfaceEntry 7 }

mgmdRouterInterfaceQuerierUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current

Chesterfield      Internet Draft - Expires July 2004          [Page 7]


               Multicast Group Membership Discovery MIB

    DESCRIPTION
            "The time since mgmdRouterInterfaceQuerier was last changed."
    ::= { mgmdRouterInterfaceEntry 8 }

mgmdRouterInterfaceQuerierExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The amount of time remaining before the Other Querier
            Present Timer expires.  If the local system is the querier,
            the value of this object is zero."
    ::= { mgmdRouterInterfaceEntry 9 }

mgmdRouterInterfaceWrongVersionQueries OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "The number of queries received whose IGMP or MLD version
            does not match the equivalent mgmdRouterInterfaceVersion, over
            the lifetime of the row entry.  Both IGMP and MLD require that all
            routers on a LAN be configured to run the same version.
            Thus, if any queries are received with the wrong version,
            this indicates a configuration error."
    ::= { mgmdRouterInterfaceEntry 10 }

mgmdRouterInterfaceJoins OBJECT-TYPE
    SYNTAX     Counter32

    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of times a group membership has been added on
            this interface; that is, the number of times an entry for
            this interface has been added to the Cache Table.  This
            object gives an indication of the amount of IGMP or MLD
            activity over the lifetime of the row entry."
    ::= { mgmdRouterInterfaceEntry 11 }

mgmdRouterInterfaceProxyIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndexOrZero
    MAX-ACCESS read-create
`    STATUS     current
    DESCRIPTION
            "Some devices implement a form of IGMP or MLD proxying
            whereby memberships learned on the interface represented by
            this row, cause Host Membership Reports to be sent on the
            interface whose ifIndex value is given by this object.
            Such a device would implement the mgmdV2RouterMIBGroup only
            on its router interfaces (those interfaces with non-zero
            mgmdRouterInterfaceProxyIfIndex).  Typically, the value of this
            object is 0, indicating that no proxying is being done."
    DEFVAL     { 0 }
    ::= { mgmdRouterInterfaceEntry 12 }

mgmdRouterInterfaceGroups OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only

Chesterfield      Internet Draft - Expires July 2004          [Page 8]


               Multicast Group Membership Discovery MIB

    STATUS     current
    DESCRIPTION
            "The current number of entries for this interface in the
            RouterCache Table."
    ::= { mgmdRouterInterfaceEntry 13 }

mgmdRouterInterfaceRobustness OBJECT-TYPE
    SYNTAX     Unsigned32 (1..255)
    MAX-ACCESS read-create

    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.  IGMP and
            MLD is robust to (Robustness Variable-1) packet losses."
    DEFVAL     { 2 }
    ::= { mgmdRouterInterfaceEntry 14 }

mgmdRouterInterfaceLastMembQueryIntvl OBJECT-TYPE
    SYNTAX     Unsigned32 (0..255)
    UNITS      "tenths of seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The Last Member Query Interval is the Max Response Time
            inserted into Group-Specific Queries sent in response to
            Leave Group messages, and is also the amount of time
            Between Group-Specific Query messages.  This value may be
            tuned to modify the leave latency of the network.  A
            reduced value results in reduced time to detect the loss of
            the last member of a group.  The value of this object is
            irrelevant if mgmdRouterInterfaceVersion is 1."
    DEFVAL     { 10 }
    ::= { mgmdRouterInterfaceEntry 15 }


--
--  The MGMD Host Cache Table
--

mgmdHostCacheTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MgmdHostCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the IP multicast groups for
             which there are members on a particular interface."
    ::= { mgmdMIBObjects 3 }

mgmdHostCacheEntry OBJECT-TYPE
    SYNTAX     MgmdHostCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the mgmdHostCacheTable."
    INDEX      { mgmdHostCacheAddressType, mgmdHostCacheAddress,
                 mgmdHostCacheIfIndex }
    ::= { mgmdHostCacheTable 1 }

Chesterfield      Internet Draft - Expires July 2004          [Page 9]


               Multicast Group Membership Discovery MIB



MgmdHostCacheEntry ::= SEQUENCE {
    mgmdHostCacheAddressType        InetAddressType,
    mgmdHostCacheAddress            InetAddress,
    mgmdHostCacheIfIndex            InterfaceIndex,
    mgmdHostCacheUpTime           Timeticks,
    mgmdHostCacheLastReporter       InetAddress,
    mgmdHostCacheStatus             RowStatus,
    mgmdHostCacheSourceFilterMode   Integer32
}

mgmdHostCacheAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address type of the mgmdHostCacheTable entry. This value
            applies to both the mgmdHostCacheAddress and the
            mgmdHostCacheLastReporter entries."
    ::= { mgmdHostCacheEntry 1 }


mgmdHostCacheAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information. The InetAddressType, e.g.
            IPv4 or IPv6, is identified by the mgmdHostCacheAddresType
            variable in the mgmdHostCache table."
    ::= { mgmdHostCacheEntry 2 }

mgmdHostCacheIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The interface for which this entry contains information
            for an IP multicast group address."
    ::= { mgmdHostCacheEntry 3 }

mgmdHostCacheUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time elapsed since this entry was created."
    ::= { mgmdHostCacheEntry 4 }

mgmdHostCacheLastReporter OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the source of the last membership report
            received for this IP Multicast group address on this

Chesterfield      Internet Draft - Expires July 2004         [Page 10]


               Multicast Group Membership Discovery MIB

            interface.  If no membership report has been received, this
            object has the value 0::0. The InetAddressType, e.g.
            IPv4 or IPv6, is identified by the mgmdHostCacheAddresType
            variable in the mgmdHostCache table."
    ::= { mgmdHostCacheEntry 5 }

mgmdHostCacheStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The status of this row. Enabling the entry makes the host
           an active member of the group. Disablng the entry forces the
           host to leave the group."
    ::= { mgmdHostCacheEntry 6 }

mgmdHostCacheSourceFilterMode OBJECT-TYPE
    SYNTAX     Integer32 {include (1),
                          exclude (2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The state in which the interface is currently set. The
            value indicates the relevance of the corresponding source
            list entries in the HostSrcList Table for MGMDv3 interfaces."
    ::= { mgmdHostCacheEntry 7 }

--
--  The MGMD Router Cache Table
--

mgmdRouterCacheTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MgmdRouterCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the IP multicast groups for
              which there are members on a particular router interface."
    ::= { mgmdMIBObjects 4 }

mgmdRouterCacheEntry OBJECT-TYPE
    SYNTAX     MgmdRouterCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the mgmdRouterCacheTable."
    INDEX      { mgmdRouterCacheAddressType, mgmdRouterCacheAddress,
                 mgmdRouterCacheIfIndex }
    ::= { mgmdRouterCacheTable 1 }


MgmdRouterCacheEntry ::= SEQUENCE {
    mgmdRouterCacheAddressType        InetAddressType,
    mgmdRouterCacheAddress            InetAddress,
    mgmdRouterCacheIfIndex            InterfaceIndex,
    mgmdRouterCacheLastReporter       InetAddress,
    mgmdRouterCacheUpTime             TimeTicks,
    mgmdRouterCacheExpiryTime         TimeTicks,

Chesterfield      Internet Draft - Expires July 2004         [Page 11]


               Multicast Group Membership Discovery MIB

    mgmdRouterCacheStatus             RowStatus,
    mgmdRouterCacheVersion1HostTimer  TimeTicks,
    mgmdRouterCacheVersion2HostTimer  TimeTicks,
    mgmdRouterCacheSourceFilterMode   Integer32
}

mgmdRouterCacheAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address type of the mgmdRouterCacheTable entry. This value
            applies to both the mgmdRouterCacheAddress and the
            mgmdRouterCacheLastReporter entries."
    ::= { mgmdRouterCacheEntry 1 }

mgmdRouterCacheAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information. The InetAddressType, e.g.
            IPv4 or IPv6, is identified by the mgmdRouterCacheAddresType
            variable in the mgmdRouterCache table."
    ::= { mgmdRouterCacheEntry 2 }

mgmdRouterCacheIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The interface for which this entry contains information
            for an IP multicast group address."
    ::= { mgmdRouterCacheEntry 3 }

mgmdRouterCacheLastReporter OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the source of the last membership report
            received for this IP Multicast group address on this
            interface.  If no membership report has been received, this
            object has the value 0::0. The InetAddressType, e.g.
            IPv4 or IPv6, is identified by the mgmdRouterCacheAddresType
            variable in the mgmdRouterCache table."
    ::= { mgmdRouterCacheEntry 4 }

mgmdRouterCacheUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time elapsed since this entry was created."
    ::= { mgmdRouterCacheEntry 5 }

mgmdRouterCacheExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks

Chesterfield      Internet Draft - Expires July 2004         [Page 12]


               Multicast Group Membership Discovery MIB

    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum amount of time remaining before this entry
            will be aged out.  The value must always be greater than 0."
    ::= { mgmdRouterCacheEntry 6 }

mgmdRouterCacheStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The status of this row. Enabling the entry makes this router
          an active member of the group on the interface defined by
          mgmdRouterCacheIfIndex. Disabling the entry forces the
          router interface to leave the group."
    ::= { mgmdRouterCacheEntry 7 }

mgmdRouterCacheVersion1HostTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time remaining until the local router will assume that
            there are no longer any MGMD version 1 members on the IP
            subnet attached to this interface.  This entry only applies
            to IGMPv1 hosts, and is not implemented for MLD. Upon
            hearing any MGMDv1 Membership Report (IGMPv1 only), this
            value is reset to the group membership timer.  While this
            time remaining is non-zero, the local router ignores any
            MGMDv2 Leave messages (IGMPv2 only) for this group that it
            receives on this interface."
    ::= { mgmdRouterCacheEntry 8 }

mgmdRouterCacheVersion2HostTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time remaining until the local router will assume that
            there are no longer any MGMD version 2 members on the IP
            subnet attached to this interface.  This entry applies to
            both IGMP and MLD hosts. Upon hearing any MGMDv2
            Membership Report, this value is reset to the group
            membership timer.  Assuming no MGMDv1 hosts have been
            detected, the local router does not ignore any MGMDv2 Leave
            messages for this group that it receives on this
            interface."
    ::= { mgmdRouterCacheEntry 9 }

mgmdRouterCacheSourceFilterMode OBJECT-TYPE
    SYNTAX     Integer32 {include (1),
                          exclude (2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The state in which the interface is currently set. The
            value indicates the relevance of the corresponding source
            list entries in the RouterSrcList Table for MGMDv3 interfaces."

Chesterfield      Internet Draft - Expires July 2004         [Page 13]


               Multicast Group Membership Discovery MIB

    ::= { mgmdRouterCacheEntry 10 }

--
--  The MGMD Reverse Host interface/cache lookup Table
--

mgmdInverseHostCacheTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MgmdInverseHostCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the interfaces which
             are members of a particular group. This is a reverse
             lookup table for entries in the mgmdHostCacheTable."
    ::= { mgmdMIBObjects 5 }

mgmdInverseHostCacheEntry OBJECT-TYPE
    SYNTAX     MgmdInverseHostCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the mgmdInverseHostCacheTable."
    INDEX      { mgmdInverseHostCacheIfIndex, mgmdInverseHostCacheAddressType,
                 mgmdInverseHostCacheAddress,
                 }
    ::= { mgmdInverseHostCacheTable 1 }


MgmdInverseHostCacheEntry ::= SEQUENCE {
    mgmdInverseHostCacheIfIndex            InterfaceIndex,
    mgmdInverseHostCacheAddressType        InetAddressType,
    mgmdInverseHostCacheAddress            InetAddress
}

mgmdInverseHostCacheIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The interface for which this entry contains information."
    ::= { mgmdInverseHostCacheEntry 1 }


mgmdInverseHostCacheAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address type of the mgmdInverseHostCacheTable entry."
    ::= { mgmdInverseHostCacheEntry 2 }

mgmdInverseHostCacheAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information about an interface. The InetAddressType, e.g.

Chesterfield      Internet Draft - Expires July 2004         [Page 14]


               Multicast Group Membership Discovery MIB

            IPv4 or IPv6, is identified by the mgmdInverseHostCacheAddresType
            variable in the mgmdInverseHostCache table."
    ::= { mgmdInverseHostCacheEntry 3 }


--
--  The MGMD Reverse Router interface/cache lookup Table
--

mgmdInverseRouterCacheTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MgmdInverseRouterCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the interfaces which
              are members of a particular group. This is a reverse
            lookup table for entries in the mgmdRouterCacheTable."
    ::= { mgmdMIBObjects 6 }

mgmdInverseRouterCacheEntry OBJECT-TYPE
    SYNTAX     MgmdInverseRouterCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the mgmdInverseRouterCacheTable."
    INDEX      { mgmdInverseRouterCacheIfIndex, mgmdInverseRouterCacheAddressType,
                 mgmdInverseRouterCacheAddress}
    ::= { mgmdInverseRouterCacheTable 1 }


MgmdInverseRouterCacheEntry ::= SEQUENCE {
    mgmdInverseRouterCacheIfIndex            InterfaceIndex,
    mgmdInverseRouterCacheAddressType        InetAddressType,
    mgmdInverseRouterCacheAddress            InetAddress
}

mgmdInverseRouterCacheIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The interface for which this entry contains information."
    ::= { mgmdInverseRouterCacheEntry 1 }

mgmdInverseRouterCacheAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address type of the mgmdInverseRouterCacheTable entry."
    ::= { mgmdInverseRouterCacheEntry 2 }

mgmdInverseRouterCacheAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry

Chesterfield      Internet Draft - Expires July 2004         [Page 15]


               Multicast Group Membership Discovery MIB

            contains information about an interface. The InetAddressType, e.g.
            IPv4 or IPv6, is identified by the mgmdInverseRouterCacheAddresType
            variable in the mgmdInverseRouterCache table."
    ::= { mgmdInverseRouterCacheEntry 3 }


--
--  The MGMD Host Source list Table
--

mgmdHostSrcListTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MgmdHostSrcListEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the Source List entries
             corresponding to each Interface filter mode record on a host."
    ::= { mgmdMIBObjects 7 }

mgmdHostSrcListEntry OBJECT-TYPE
    SYNTAX     MgmdHostSrcListEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the mgmdHostSrcListTable."
    INDEX      { mgmdHostSrcListAddressType, mgmdHostSrcListAddress,
mgmdHostSrcListIfIndex, mgmdHostSrcListHostAddress }
    ::= { mgmdHostSrcListTable 1 }


MgmdHostSrcListEntry ::= SEQUENCE {
    mgmdHostSrcListAddressType      InetAddressType,
    mgmdHostSrcListAddress          InetAddress,
    mgmdHostSrcListIfIndex          InterfaceIndex,
    mgmdHostSrcListHostAddress      InetAddress
}

mgmdHostSrcListAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address type of the InetAddress variables in this
            table. This value applies to the mgmdHostSrcListHostAddress and
            mgmdHostSrcListAddress entries."
    ::= { mgmdHostSrcListEntry 1 }

mgmdHostSrcListAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information."
    ::= { mgmdHostSrcListEntry 2 }

mgmdHostSrcListIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible

Chesterfield      Internet Draft - Expires July 2004         [Page 16]


               Multicast Group Membership Discovery MIB

    STATUS     current
    DESCRIPTION
            "The interface for which this entry contains information
            for an IP multicast group address."
    ::= { mgmdHostSrcListEntry 3 }

mgmdHostSrcListHostAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The host address to which this entry
            corresponds. The mgmdHostCacheSourceFilterMode value for this Group
            address and interface indicates whether this Host address
            is included or excluded."
    ::= { mgmdHostSrcListEntry 4 }

--
--  The MGMD Router Source list Table
--

mgmdRouterSrcListTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF MgmdRouterSrcListEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the Source List entries
             corresponding to each Interface filter mode record on a Router."
    ::= { mgmdMIBObjects 8 }

mgmdRouterSrcListEntry OBJECT-TYPE
    SYNTAX     MgmdRouterSrcListEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the mgmdRouterSrcListTable."
    INDEX      { mgmdRouterSrcListAddressType, mgmdRouterSrcListAddress,
mgmdRouterSrcListIfIndex, mgmdRouterSrcListHostAddress }
    ::= { mgmdRouterSrcListTable 1 }


MgmdRouterSrcListEntry ::= SEQUENCE {
    mgmdRouterSrcListAddressType      InetAddressType,
    mgmdRouterSrcListAddress          InetAddress,
    mgmdRouterSrcListIfIndex          InterfaceIndex,
    mgmdRouterSrcListHostAddress      InetAddress
}

mgmdRouterSrcListAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address type of the InetAddress variables in this
            table. This value applies to the mgmdRouterSrcListHostAddress and
            mgmdRouterSrcListAddress entries."
    ::= { mgmdRouterSrcListEntry 1 }

mgmdRouterSrcListAddress OBJECT-TYPE

Chesterfield      Internet Draft - Expires July 2004         [Page 17]


               Multicast Group Membership Discovery MIB

    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information."
    ::= { mgmdRouterSrcListEntry 2 }

mgmdRouterSrcListIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The interface for which this entry contains information
            for an IP multicast group address."
    ::= { mgmdRouterSrcListEntry 3 }

mgmdRouterSrcListHostAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The host address to which this entry
            corresponds. The mgmdRouterCacheSourceFilterMode value for this Group
            address and interface indicates whether this Host address
            is included or excluded."
    ::= { mgmdRouterSrcListEntry 4 }

-- conformance information


mgmdMIBConformance
                 OBJECT IDENTIFIER ::= { mgmdStdMIB 2 }
mgmdMIBVersions  OBJECT IDENTIFIER ::= { mgmdMIBConformance 1 }
mgmdMIBCompliances
                 OBJECT IDENTIFIER ::= { mgmdMIBConformance 2 }
mgmdMIBGroups    OBJECT IDENTIFIER ::= { mgmdMIBConformance 3 }


-- Protocol Version Conformance

mgmdIgmpV1HostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The version statement for hosts running IGMPv1, RFC 1112 [5], and
            implementing the MGMD MIB. MGMDv1 applies to hosts and routers
            running IGMPv1 only. IGMPv1 hosts must support the IPv4 address type."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdHostBaseMIBGroup }

    ::= { mgmdMIBVersions 1 }

mgmdIgmpV1RouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION `
            "The version statement for routers running IGMPv1, RFC 1112 [5],
            and implementing the MGMD MIB. MGMDv1 applies to hosts and routers

Chesterfield      Internet Draft - Expires July 2004         [Page 18]


               Multicast Group Membership Discovery MIB

            running IGMPv1 only. IGMPv1 routers must support the IPv4 address type "
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdRouterBaseMIBGroup }

    ::= { mgmdMIBVersions 2 }

mgmdIgmpV2HostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The version statement for hosts running IGMPv2, RFC 2236 [6], and
            implementing the MGMD MIB. MGMDv2 applies to hosts and routers
            running IGMPv2 or MLDv1. IGMPv2 hosts must support the IPv4 address
              type"
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdHostBaseMIBGroup , mgmdV2HostMIBGroup }

    ::= { mgmdMIBVersions 3 }

mgmdIgmpV2RouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The version statement for routers running IGMPv2, RFC 2236 [6],
            and implementing the MGMD MIB. MGMDv2 applies to hosts and routers
            running IGMPv2 or MLDv1. IGMPv2 routers must support the IPv4 address
              type "
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdRouterBaseMIBGroup,
                       mgmdV2RouterMIBGroup,
                       mgmdV2IgmpRouterMIBGroup
                     }

    ::= { mgmdMIBVersions 4 }

mgmdMldV1HostMIBCompliance MODULE-COMPLIANCE
    STATUS  current

    DESCRIPTION
            "The version statement for hosts running MLDv1, RFC 2710 [8], and
            implementing the MGMD MIB. MGMDv2 applies to hosts and routers
            running IGMPv2 or MLDv1. MLDv1 hosts must support the IPv6 address
              type."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdHostBaseMIBGroup }

    ::= { mgmdMIBVersions 5 }

mgmdMldV1RouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The version statement for routers running MLDv1, RFC 2710 [8],
            and implementing the MGMD MIB. MGMDv2 applies to hosts and routers
            running IGMPv2 or MLDv1. MLDv1 routers must support the IPv6 address
              type."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdRouterBaseMIBGroup,
                       mgmdV2RouterMIBGroup
                     }

    ::= { mgmdMIBVersions 6 }

Chesterfield      Internet Draft - Expires July 2004         [Page 19]


               Multicast Group Membership Discovery MIB


mgmdIgmpV3HostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The version statement for hosts running IGMPv3, RFC 3376 [7], and
            implementing the MGMD MIB. MGMDv3 applies to hosts and routers
            running IGMPv3 or MLDv2. IGMPv3 hosts must support the IPv4 address
              type."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdHostBaseMIBGroup,
                       mgmdV2HostMIBGroup,
                       mgmdV3HostMIBGroup
                     }

    ::= { mgmdMIBVersions 7 }

mgmdIgmpV3RouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The version statement for routers running IGMPv3, RFC 3376 [7],
            and implementing the MGMD MIB. MGMDv3 applies to hosts and routers
            running IGMPv3 or MLDv2. IGMPv3 routers must support the IPv4 address
              type."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdRouterBaseMIBGroup,
                       mgmdV2RouterMIBGroup,
                       mgmdV2IgmpRouterMIBGroup,
                       mgmdV3RouterMIBGroup
                     }

    ::= { mgmdMIBVersions 8 }

mgmdMldV2HostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The version statement for hosts running MLDv2 [9] and
             implementing the MGMD MIB. MGMDv3 applies to hosts and routers
            running IGMPv3 or MLDv2. MLDv2 hosts must support the IPv6 address
              type."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdHostBaseMIBGroup,
                       mgmdV3HostMIBGroup
                     }

    ::= { mgmdMIBVersions 9 }

mgmdMldV2RouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The version statement for routers running MLDv2 [9] and
             implementing the MGMD MIB. MGMDv3 applies to hosts and routers
            running IGMPv3 or MLDv2. MLDv2 routers must support the IPv6 address
              type."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdRouterBaseMIBGroup,
                       mgmdV2RouterMIBGroup,
                       mgmdV3RouterMIBGroup
                     }


Chesterfield      Internet Draft - Expires July 2004         [Page 20]


               Multicast Group Membership Discovery MIB


    ::= { mgmdMIBVersions 10 }


-- compliance statements

mgmdV1HostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for hosts running MGMDv1 and
            implementing the MGMD MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdHostBaseMIBGroup }

    OBJECT     mgmdHostInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    OBJECT     mgmdHostCacheStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { mgmdMIBCompliances 1 }

mgmdV1RouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for routers running MGMDv1 and
            implementing the MGMD MIB."
    MODULE  -- this module
      MANDATORY-GROUPS { mgmdRouterBaseMIBGroup }

    OBJECT     mgmdRouterInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."
    OBJECT     mgmdRouterCacheStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { mgmdMIBCompliances 2 }

mgmdV2IgmpHostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for IGMPv2 hosts
            implementing the MGMD MIB."

    MODULE  -- this module
    MANDATORY-GROUPS { mgmdHostBaseMIBGroup,
                       mgmdV2IgmpHostMIBGroup
                     }

    OBJECT     mgmdHostCacheStatus
    MIN-ACCESS read-only
    DESCRIPTION

Chesterfield      Internet Draft - Expires July 2004         [Page 21]


               Multicast Group Membership Discovery MIB

             "Write access is not required."

    ::= { mgmdMIBCompliances 3 }

mgmdV2MldHostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for MLDv1 hosts
            implementing the MGMD MIB."

    MODULE  -- this module
    MANDATORY-GROUPS { mgmdHostBaseMIBGroup
                     }

    OBJECT     mgmdHostCacheStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { mgmdMIBCompliances 4 }

mgmdV2IgmpRouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for IGMPv2 routers
            implementing the MGMD MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdRouterBaseMIBGroup,
                       mgmdV2RouterMIBGroup,
                       mgmdV2IgmpRouterMIBGroup
                     }

    OBJECT     mgmdRouterInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."
    OBJECT     mgmdRouterCacheStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { mgmdMIBCompliances 5 }

mgmdV2MldRouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for MLDv1 routers
            implementing the MGMD MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdRouterBaseMIBGroup,
                       mgmdV2RouterMIBGroup
                     }

    OBJECT     mgmdRouterInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."
    OBJECT     mgmdRouterCacheStatus
    MIN-ACCESS read-only

Chesterfield      Internet Draft - Expires July 2004         [Page 22]


               Multicast Group Membership Discovery MIB

    DESCRIPTION
             "Write access is not required."

    ::= { mgmdMIBCompliances 6 }

mgmdV3IgmpHostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for hosts running MGMDv3 and
            implementing the MGMD MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdHostBaseMIBGroup,
                       mgmdV2HostMIBGroup,
                       mgmdV3HostMIBGroup
                     }

    OBJECT     mgmdHostInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    OBJECT     mgmdHostCacheStatus

    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { mgmdMIBCompliances 7 }

mgmdV3IgmpRouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for routers running MGMDv3 and
            implementing the MGMD MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdRouterBaseMIBGroup,
                       mgmdV2RouterMIBGroup,
                       mgmdV2IgmpRouterMIBGroup,
                       mgmdV3RouterMIBGroup
                     }

    OBJECT     mgmdRouterInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."
    OBJECT     mgmdRouterCacheStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { mgmdMIBCompliances 8 }

mgmdV3MldHostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for hosts running MGMDv3 and
            implementing the MGMD MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdHostBaseMIBGroup,

Chesterfield      Internet Draft - Expires July 2004         [Page 23]


               Multicast Group Membership Discovery MIB

                       mgmdV3HostMIBGroup
                     }

    OBJECT     mgmdHostInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    OBJECT     mgmdHostCacheStatus

    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { mgmdMIBCompliances 9 }

mgmdV3MldRouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for routers running MGMDv3 and
            implementing the MGMD MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { mgmdRouterBaseMIBGroup,
                       mgmdV2RouterMIBGroup,
                       mgmdV3RouterMIBGroup
                     }

    OBJECT     mgmdRouterInterfaceStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."
    OBJECT     mgmdRouterCacheStatus
    MIN-ACCESS read-only
    DESCRIPTION
             "Write access is not required."

    ::= { mgmdMIBCompliances 10 }

-- units of conformance

mgmdHostBaseMIBGroup OBJECT-GROUP
    OBJECTS { mgmdHostCacheStatus, mgmdHostInterfaceStatus,
              mgmdHostCacheAddressType
            }
    STATUS  current
    DESCRIPTION
            "The basic collection of objects providing management of
            MGMD version 1, 2 or 3 for Hosts."
    ::= { mgmdMIBGroups 1 }

mgmdRouterBaseMIBGroup OBJECT-GROUP
    OBJECTS { mgmdRouterCacheStatus, mgmdRouterInterfaceStatus,
              mgmdRouterCacheAddressType,
              mgmdRouterCacheUpTime, mgmdRouterCacheExpiryTime,
              mgmdRouterInterfaceJoins, mgmdRouterInterfaceGroups,
              mgmdRouterCacheLastReporter, mgmdRouterInterfaceQuerierUpTime,
              mgmdRouterInterfaceQuerierExpiryTime,
              mgmdRouterInterfaceQueryInterval
            }

Chesterfield      Internet Draft - Expires July 2004         [Page 24]


               Multicast Group Membership Discovery MIB

    STATUS  current
    DESCRIPTION
            "The basic collection of objects providing management of
            MGMD version 1, 2 or 3 for Routers."
    ::= { mgmdMIBGroups 2 }

mgmdV2IgmpHostMIBGroup OBJECT-GROUP
    OBJECTS { mgmdHostInterfaceVersion1QuerierTimer }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of IGMP
            version 2 in hosts for MGMD version 2 compliance."
    ::= { mgmdMIBGroups 3 }

mgmdHostOptMIBGroup OBJECT-GROUP
    OBJECTS { mgmdHostCacheLastReporter, mgmdHostCacheUpTime,
            mgmdHostInterfaceQuerier }
    STATUS  current
    DESCRIPTION
            "A collection of optional objects for MGMD hosts.
            Supporting this group can be especially useful in an
            environment with a router which does not support the MGMD
            MIB."
    ::= { mgmdMIBGroups 4 }

mgmdV2RouterBaseMIBGroup OBJECT-GROUP
    OBJECTS { mgmdRouterInterfaceVersion, mgmdRouterInterfaceQuerier,
              mgmdRouterInterfaceQueryMaxResponseTime,
              mgmdRouterInterfaceRobustness,
              mgmdRouterInterfaceWrongVersionQueries,
              mgmdRouterInterfaceLastMembQueryIntvl
            }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of MGMD
            version 2 in routers."
    ::= { mgmdMIBGroups 5 }

mgmdV2IgmpRouterMIBGroup OBJECT-GROUP
    OBJECTS { mgmdRouterCacheVersion1HostTimer }
    STATUS  current
    DESCRIPTION
            "A collection of further objects required by IGMPv2 routers for
            MGMD version 2 compliance. "
    ::= { mgmdMIBGroups 6 }

mgmdV2ProxyMIBGroup OBJECT-GROUP
    OBJECTS { mgmdRouterInterfaceProxyIfIndex }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of MGMD
            proxy devices."
    ::= { mgmdMIBGroups 7 }

mgmdV3HostMIBGroup OBJECT-GROUP
    OBJECTS { mgmdHostInterfaceVersion2QuerierTimer,
              mgmdHostCacheSourceFilterMode,
              mgmdHostSrcListAddress,
              mgmdHostSrcListIfIndex,

Chesterfield      Internet Draft - Expires July 2004         [Page 25]


               Multicast Group Membership Discovery MIB

              mgmdHostSrcListAddressType,
              mgmdHostSrcListHostAddress
            }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of MGMD
            version 3 in hosts."
    ::= { mgmdMIBGroups 8 }

mgmdV3RouterMIBGroup OBJECT-GROUP
    OBJECTS { mgmdRouterCacheSourceFilterMode,
              mgmdRouterCacheVersion2HostTimer,
              mgmdRouterSrcListAddress,
              mgmdRouterSrcListIfIndex,
              mgmdRouterSrcListAddressType,
              mgmdRouterSrcListHostAddress
            }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of MGMD
            version 3 in routers."
    ::= { mgmdMIBGroups 9 }

END

5. Security Considerations

   This MIB contains readable objects whose values provide information
   related to multicast sessions.  Some of these objects could contain
   sensitive information.  In particular, the mgmdCacheLastReporter
   object can be used to identify machines which are
   listening to a given group address.  There are also a number of
   objects that have a MAX-ACCESS clause of read-write and/or read-
   create, which allow an administrator to configure the MGMD in the
   router.

   While unauthorized access to the readable objects is relatively
   innocuous, unauthorized access to the write-able objects could cause
   a denial of service.  Hence, the support for SET operations in a
   non-secure environment without proper protection can have a negative
   effect on network operations.

   SNMPv1 by itself is such an insecure environment.  Even if the
   network itself is secure (for example by using IPSec), even then,
   there is no control as to who on the secure network is allowed to
   access and SET (change/create/delete) the objects in this MIB.

   It is recommended that the implementers consider the security
   features as provided by the SNMPv3 framework.  Specifically, the use
   of the User-based Security Model RFC 2574 [12] and the View-based
   Access Control Model RFC 2575 [15] is recommended.

   It is then a customer/user responsibility to ensure that the SNMP
   entity giving access to this MIB, is properly configured to give
   access to those objects only to those principals (users) that have
   legitimate rights to access them.

6. Contributors


Chesterfield      Internet Draft - Expires July 2004         [Page 26]


               Multicast Group Membership Discovery MIB

   The authors of RFC 2933 and RFC 3019 from which this document is
   derived are:

      Keith McCloghrie
      cisco Systems, Inc.
      170 West Tasman Drive
      San Jose, CA  95134-1706

      Phone:  408 526 5260
      EMail: kzm@cisco.com


      Dino Farinacci
      Procket Networks
      3850 North First Street
      San Jose, CA 95134

      Phone:  408-954-7909
      Email: dino@procket.com

      Dave Thaler
      Microsoft Corporation
      One Microsoft Way
      Redmond, WA  48105-6399

      Phone:  425 703 8835
      EMail: dthaler@microsoft.com


      Brian Haberman
      Nortel Networks
      4309 Emperor Blvd.
      Suite 200
      Durham, NC 27703
      USA

      Phone: 919-992-4439
      EMail: haberman@nortelnetworks.com


      Randy Worzella
      IBM Corporation
      800 Park Office Drive
      Research Triangle Park,
      NC 27709
      USA

      Phone: 919-254-2202
      EMail: worzella@us.ibm.com


7. Acknowledgements

   Thanks to Bill Fenner, Brian Haberman and Dave Thaler for feedback
   and suggestions regarding the MIB.


8. Author's Address


Chesterfield      Internet Draft - Expires July 2004         [Page 27]


               Multicast Group Membership Discovery MIB

   Julian Chesterfield
   University of Cambridge,
   Computer Laboratory,
   15 JJ Thompson Avenue,
   Cambridge,
   CB3 0FD
   UK


9. References

    [1] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
        Rose, M. and S. Waldbusser, "Structure of Management
        Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

    [2] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
        Rose, M. and S. Waldbusser, "Textual Conventions for
        SMIv2", STD 58, RFC 2579, April 1999.

    [3] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
        Rose, M. and S. Waldbusser, "Conformance Statements for
        SMIv2", STD 58, RFC 2580, April 1999.

    [4] Case, J., Mundy, R., Partain, D. and B. Stewart,
        "Introduction and Applicability Statements for Internet-
        Standard Management Framework", RFC 3410, December 2002.

    [5] Deering, S., "Host Extensions for IP Multicasting", STD 5, RFC
         1112, August 1989.

    [6] Fenner, W., "Internet Group Management Protocol, Version 2",
         RFC 2236, November 1997.

    [7] Cain, B., Deering, S., Fenner, W., Kouvelas, I., Thyagarajan,
         A., "Internet Group Management Protocol, Version 3", RFC 3376,
         Oct 2002.

    [8] Deering, S., Fenner, W., Haberman, B., "Multicast Listener
         Discovery for IPv6", RFC 2710", October 1999.

    [9] Vida, R., Costa, L., "Multicast Listener Discovery Version 2
         (MLDv2) for IPv6", <draft-vida-mld-v2-07.txt>.

    [10] McCloghrie, K., Farinacci, D., Thaler, D., "Internet Group
         Management Protocol MIB", RFC 2933, October 2000.

    [11] Haberman, B., Worzella, R., "IP Version 6 Management
         Information Base for The Multicast Listener Discovery
         Protocol, RFC 3019", January 2001.


10. Full Copyright Statement

   Copyright (C) The Internet Society (2000). All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any

Chesterfield      Internet Draft - Expires July 2004         [Page 28]


               Multicast Group Membership Discovery MIB

   kind, provided that the above copyright notice and this paragraph
   are included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other

   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet languages other than English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."








































Chesterfield      Internet Draft - Expires July 2004         [Page 29]