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]