Internet DRAFT - draft-ietf-snmp-igmp

draft-ietf-snmp-igmp






                                                             T. Pusateri
INTERNET DRAFT                                                Consultant
Expiration date: September 1993                                June 1993


       Managed Objects for the Internet Group Management Protocol



1.  Abstract



This memo defines a portion of the Management Information Base (MIB) for
use with network management protocols in TCP/IP based internets.  In
particular it defines objects for managing the Internet Group Management
Protocol (IGMP) defined in RFC 1112 [1].


2.  Status of this Memo



This document will be submitted to the RFC editor as an extension to the
SNMP MIB.  Distribution of this memo is unlimited.  Please send comments
to the authors.

This document is an Internet Draft.  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.
Internet Drafts may be updated, replaced, or obsoleted by other
documents at any time.  It is not appropriate to use Internet Drafts as
reference material or to cite them other than as a "working draft" or
"work in progress."

Please check the I-D abstract listing contained in each Internet Draft
directory to learn the current status of this or any other Internet
Draft.


3.  The Network Management Framework



The Internet-standard Network Management Framework consists of three



Pusateri                                                        [Page 1]





INTERNET DRAFT                                             February 1993


components.  They are:

RFC 1155 [2]
     which defines the SMI, the mechanisms used for describing and
     naming objects for the purpose of management.  RFC 1212 [3] defines
     a more concise description mechanism, which is wholly consistent
     with the SMI.


RFC 1156 [4]
     which defines MIB-I, the core set of managed objects for the
     Internet suite of protocols.  RFC 1213 [5], defines MIB-II, an
     evolution of MIB-I based on implementation experience and new
     operational requirements.


RFC 1157 [6]
     which defines the SNMP, the protocol used for network access to
     managed objects.

     The Framework permits new objects to be defined for the purpose of
     experimentation and evaluation.


4.  Objects



Managed objects are accessed via a virtual information store, termed the
Management Information Base or MIB.  Objects in the MIB are defined
using the subset of Abstract Syntax Notation One (ASN.1) [7] defined in
the SMI.  In particular, each object has a name, a syntax, and an
encoding.  The name is an object identifier, an administratively
assigned name, which specifies an object type.  The object type together
with an object instance serves to uniquely identify a specific
instantiation of the object.  For human convenience, we often use a
textual string, termed the OBJECT DESCRIPTOR, to also refer to the
object type.

The syntax of an object type defines the abstract data structure
corresponding to that object type.  The ASN.1 language is used for this
purpose.  However, the SMI purposely restricts the ASN.1 constructs
which may be used.  These restrictions are explicitly made for
simplicity.

The encoding of an object type is simply how that object type is
represented using the object type's syntax.  Implicitly tied to the
notion of an object type's syntax and encoding is how the object type is



Pusateri                                                        [Page 2]





INTERNET DRAFT                                             February 1993


represented when being transmitted on the network.

The SMI specifies the use of the basic encoding rules of ASN.1 [8],
subject to the additional requirements imposed by the SNMP.

Format of Definitions


Section 6 contains the specification of all object types contained in
this MIB module.  The object types are defined using the conventions
defined in the SMI, as amended by the extensions specified in RFC1212.


5.  Overview



This MIB provides a general mechanism to determine the group membership
information on a per interface basis. It was designed to be used for
both end systems and multicast routers.

For each interface on the box, there is a table indexed by IfIndex.  It
denotes the status of IGMP on the interface. Various Host Membership
Query statistics are maintained. A group membership table is kept in
addition indexed by the interface and group address.  In this table,
Host Membership Report information as well as group statistics are kept.

It is the intention of this document to specify MIB definitions for only
the part of IGMP that is protocol independent.  This excludes any IGMP
message types currently in use for Distance Vector Multicast Routing
Protocol (DVMRP). There is a companion document that will specify a
Management Information Base for entries in the IP Multicast forwarding
cache. Each cache entry can provide a protocol specific object
identifier containing protocol dependent information about the protocol
that installed the cache entry.
















Pusateri                                                        [Page 3]





INTERNET DRAFT                                             February 1993


6. Definitions



IGMP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        Counter, IpAddress, TimeTicks, experimental
                FROM RFC1155-SMI
        OBJECT-TYPE
                FROM RFC-1212;

-- This MIB module defines an information base for the Internet
-- Group Management Protocol (IGMP). It is based on the specification
-- found in RFC 1112.

-- Please send any comments to Tom Pusateri (pusateri@cs.duke.edu).

-- Thanks to Greg Minshall and Jeff Honig for their review and comments.
-- $Id: igmp.mib,v 1.7 1993/06/22 20:23:46 pusateri Exp $

igmp OBJECT IDENTIFIER ::= { experimental xxx }

igmpVersionNumber OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The current version of IGMP."
        ::= { igmp 1 }

igmpInterfaceTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF IgmpInterfaceEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Information about the group membership on each
                interface."
        ::= { igmp 2 }

igmpInterfaceEntry OBJECT-TYPE
        SYNTAX  IgmpInterfaceEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "An interface that supports IGMP."
        INDEX { igmpIfIndex }
        ::= { igmpInterfaceTable 1 }



Pusateri                                                        [Page 4]





INTERNET DRAFT                                             February 1993


IgmpInterfaceEntry ::=
    SEQUENCE {
        igmpIfIndex
            INTEGER,
        igmpIfStatus
            INTEGER,
        igmpDiscards
            Counter,
        igmpOutQueries
            Counter,
        igmpInQueries
            Counter,
        igmpQueryInterval
            INTEGER,
        igmpUnregisteredPkts
            Counter
    }

igmpIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "This value is a unique integer for each interface
                as identified by the same value of IfIndex."
        ::= { igmpInterfaceEntry 1 }

igmpIfStatus OBJECT-TYPE
        SYNTAX  INTEGER { enabled(1), disabled(2) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The status of IGMP with respect to this interface.
                A value of 1 is enabled, while a value of 2 is disabled."
        ::= { igmpInterfaceEntry 2 }

igmpDiscards OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of IGMP messages received on
                this interface that were discarded
                due to bad checksums, illegal message types, bad
                values in fields, etc."
        ::= { igmpInterfaceEntry 3 }

igmpOutQueries OBJECT-TYPE



Pusateri                                                        [Page 5]





INTERNET DRAFT                                             February 1993


        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of Host Membership Query messages sent
                out of this interface."
        ::= { igmpInterfaceEntry 4 }

igmpInQueries OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of Host Membership Query messages that
                have been received on this interface."
        ::= { igmpInterfaceEntry 5 }

igmpQueryInterval OBJECT-TYPE
        SYNTAX  INTEGER (0..'7FFFFFFF'h)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The interval in seconds in which Host Membership
                Queries should be sent out on this interface. This
                value is only valid when igmpIfStatus is set to
                enabled(1) and ipMulticastForwarding is set to
                forwarding(1)."
        ::= { igmpInterfaceEntry 6 }

igmpUnregisteredPkts OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of multicast datagrams received on the
                interface for groups that are not registered with
                that interface. Useful for checking hardware address
                filters. May also occur due to only filtering 23 bits
                or when all hardware multicast frames are received."
        ::= { igmpInterfaceEntry 7 }

igmpGroupTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF IgmpGroupEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Statistics on a per interface basis for each
                IP multicast group registered."



Pusateri                                                        [Page 6]





INTERNET DRAFT                                             February 1993


        ::= { igmp 3 }

igmpGroupEntry OBJECT-TYPE
        SYNTAX  IgmpGroupEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "The statistics for a particular IP multicast group."
        INDEX { igmpGroupIfIndex, igmpGroupAddress }
        ::= { igmpGroupTable 1 }

IgmpGroupEntry ::=
    SEQUENCE {
        igmpGroupIfIndex
            INTEGER,
        igmpGroupAddress
            IpAddress,
        igmpState
            INTEGER,
        igmpReceivedDatagrams
            Counter,
        igmpOutReports
            Counter,
        igmpInReports
            Counter,
        igmpLastReportTime
            TimeTicks,
        igmpReportTimeoutInterval
            INTEGER,
        igmpGroupActivated
            TimeTicks
    }

igmpGroupIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "This value is a unique integer for each interface
                as identified by the same value of IfIndex."
        ::= { igmpGroupEntry 1 }

igmpGroupAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The address of the IP multicast group."



Pusateri                                                        [Page 7]





INTERNET DRAFT                                             February 1993


        ::= { igmpGroupEntry 2 }

igmpState OBJECT-TYPE
        SYNTAX  INTEGER {
                        non-member (1),
                        delaying-member (2),
                        idle-member (3)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The current state of the IGMP host with respect to
                a particular group on a particular interface."
        ::= { igmpGroupEntry 3 }

igmpReceivedDatagrams OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of IP multicast datagrams received on this
                interface to this group address."
        ::= { igmpGroupEntry 4 }

igmpOutReports OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of Host Membership Report messages sent
                out of this interface to this group address."
        ::= { igmpGroupEntry 5 }

igmpInReports OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of Host Membership Report messages that
                have been received on this interface for this group
                address."
        ::= { igmpGroupEntry 6 }

igmpLastReportTime OBJECT-TYPE
        SYNTAX  TimeTicks
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION



Pusateri                                                        [Page 8]





INTERNET DRAFT                                             February 1993


                "The value of sysUpTime when the last Group
                Membership Report for this group address was
                received on this interface."
        ::= { igmpGroupEntry 7 }

igmpReportTimeoutInterval OBJECT-TYPE
        SYNTAX  INTEGER (1..'7FFFFFFF'h)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The value in seconds that the multicast group denoted
                by this group address will stay registered on this
                interface without being refreshed before it is deleted."
        ::= { igmpGroupEntry 8 }

igmpGroupActivated OBJECT-TYPE
        SYNTAX  TimeTicks
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The value of sysUpTime at the time the group was
                initially registered with the interface.  If the group
                was registered prior to the last reinitialization of
                the local network management subsystem, then this
                object contains a zero value."
        ::= { igmpGroupEntry 9 }

END



7.  Acknowledgments



   The author would like to thank Greg Minshall, Jeff Honig, and
   John Moy for their review and constructive comments.


Author's  Address:

   Thomas J. Pusateri
   Consultant
   11820 Edgewater Ct.
   Raleigh, NC 27614

   pusateri@cs.duke.edu




Pusateri                                                        [Page 9]





INTERNET DRAFT                                             February 1993


8.0 References



[1]  S. Deering, Host Extensions for IP Multicasting, Internet Working
     Group Request for Comments 1112.  Network Information Center, SRI
     International, Menlo Park, California, (Aug, 1989).


[2]  M.T. Rose and K. McCloghrie, Structure and Identification of
     Management Information for TCP/IP-based internets, Internet Working
     Group Request for Comments 1155.  Network Information Center, SRI
     International, Menlo Park, California, (May, 1990).


[3]  M.T. Rose, Concise MIB definitions Internet Working Group Request
     for Comments 1212.  Network Information Center, SRI International,
     Menlo Park, California, (March, 1991).


[4]  K. McCloghrie and M.T. Rose, Management Information Base for
     Network Management of TCP/IP-based internets, Internet Working
     Group Request for Comments 1156.  Network Information Center, SRI
     International, Menlo Park, California, (May, 1990).


[5]  M.T. Rose (editor), Management Information Base for Network
     Management of TCP/IP-based internets, Internet Working Group
     Request for Comments 1213.  Network Information Center, SRI
     International, Menlo Park, California, (March, 1991).


[6]  J.D. Case, M.S. Fedor, M.L. Schoffstall, and J.R. Davin, Simple
     Network Management Protocol, Internet Working Group Request for
     Comments 1157.  Network Information Center, SRI International,
     Menlo Park, California, (May, 1990).


[7]  Information processing systems - Open Systems Interconnection -
     Specification of Abstract Syntax Notation One (ASN.1),
     International Organization for Standardization.  International
     Standard 8824, (December, 1987).


[8]  Information processing systems - Open Systems Interconnection -
     Specification of Basic Encoding Rules for Abstract Notation One
     (ASN.1), International Organization for Standardization.
     International Standard 8825, (December, 1987).



Pusateri                                                       [Page 10]





INTERNET DRAFT                                             February 1993





















































Pusateri                                                       [Page 11]