T. Pusateri INTERNET DRAFT Consultant Expiration date: September 1993 June 1993 Managed Objects for the IP Multicast Forwarding Table 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 IP Multicast Forwarding Table. IP Multicast Extensions are 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 The IP multicast forwarding mib is intended to provide a protocol independent method to monitor the IP multicast forwarding cache. Protocol dependent information (such as tunnels) should be stored in a protocol specific mib pointed to by ipMulticastForwardInfo. Each forwarding cache entry is identified by a Group Address, Source Network pair. The Source Network is described by the ipMulticastForwardSourceNet and ipMulticastForwardSourceMask variables. Each entry is also indexed by ipMulticastForwardPolicy to allow for different TOS requirements. For each entry there is an upstream interface and (downstream interface, TTL) pairs. This requires that the table be indexed by ipMultiDownstreamIfIndex to allow for forwarding the multicast datagram out multiple interfaces if they lie on the shortest path multicast tree. Pusateri [Page 3] INTERNET DRAFT February 1993 6. Definitions IPMULTI-FORWARDING-MIB DEFINITIONS ::= BEGIN IMPORTS IpAddress, Counter, Gauge, experimental FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212; -- This MIB module defines an information base for the -- IP Multicast Forwarding Table. -- It is based on the specification found in RFC 1112. -- Please send any comments to Tom Pusateri (pusateri@cs.duke.edu). -- Thanks to John Moy and Greg Minshall for their review and comments. -- $Id: ipmultiforward.mib,v 1.5 1993/06/23 02:19:47 pusateri Exp $ ipMulticastForward OBJECT IDENTIFIER ::= { experimental xxx } ipMulticastForwarding OBJECT-TYPE SYNTAX INTEGER { forwarding(1), -- acting as a multicast router not-forwarding(2) -- NOT acting as a multicast router } ACCESS read-write STATUS mandatory DESCRIPTION "The indication of whether this entity is acting as an IP Multicast gateway in respect to the forwarding of CLASS D datagrams received by this entity." ::= { ipMulticastForward 1 } ipMulticastForwardNumber OBJECT-TYPE SYNTAX Gauge ACCESS read-only STATUS mandatory DESCRIPTION "The number of current ipMulticastForwardTable entries that are not invalid." ::= { ipMulticastForward 2 } -- IP Multicast Forwarding Table ipMulticastForwardTable OBJECT-TYPE Pusateri [Page 4] INTERNET DRAFT February 1993 SYNTAX SEQUENCE OF IpMulticastForwardEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This entity's IP Multicast forwarding table." ::= { ipMulticastForward 3 } ipMulticastForwardEntry OBJECT-TYPE SYNTAX IpMulticastForwardEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A forwarding entry based on source network/destination group under a particular policy." INDEX { ipMulticastForwardGroup, ipMulticastForwardSourceNet, ipMulticastForwardSourceMask, ipMulticastForwardPolicy, ipMultiDownstreamIfIndex } ::= { ipMulticastForwardTable 1 } IpMulticastForwardEntry ::= SEQUENCE { ipMulticastForwardGroup IpAddress, ipMulticastForwardSourceNet IpAddress, ipMulticastForwardSourceMask IpAddress, ipMultiUpstreamIfIndex INTEGER, ipMultiDownstreamIfIndex INTEGER, ipMultiDownstreamTTL INTEGER, ipMulticastForwardProto INTEGER, ipMulticastForwardPolicy INTEGER, ipMulticastForwardAge INTEGER, ipMulticastForwardedDatagrams Counter, ipMulticastForwardInfo OBJECT IDENTIFIER } Pusateri [Page 5] INTERNET DRAFT February 1993 ipMulticastForwardGroup OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The destination IP Multicast Group Address. The range of this address is defined in RFC 1112. It is also referred to as a Class D address." ::= { ipMulticastForwardEntry 1 } ipMulticastForwardSourceNet OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The source address of the IP Mulicast datagram. This is required for Multicast Routing Protocol performing Reverse Path Forwarding." ::= { ipMulticastForwardEntry 2 } ipMulticastForwardSourceMask OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The source network mask of the IP Mulicast datagram. This is required for Multicast Routing Protocol performing Reverse Path Forwarding to uniquely identify the source network." ::= { ipMulticastForwardEntry 3 } ipMultiUpstreamIfIndex 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. It specifies the interface an IP Multicast datagram is required to be received on in order to be forwarded to the downstream interface in the same entry of this table." ::= { ipMulticastForwardEntry 4 } ipMultiDownstreamIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION Pusateri [Page 6] INTERNET DRAFT February 1993 "This value is a unique integer for each interface as identified by the same value of IfIndex. It specifies the interface an IP Multicast datagram should be forwarded out of given that it was received on the upstream interface in the same entry of this table. Before forwarding occurs, the datagram's TTL field must also be greater than or equal to the TTL field in the same entry of this table." ::= { ipMulticastForwardEntry 5 } ipMultiDownstreamTTL OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The required minimum TTL for an IP Multicast Datagram to reach the closest group member. If the TTL value in the IP header of the IP Multicast datagram is not at least this large, there is no reason to further forward the datagram. This field is frequently used for locating resources using the expanding ring search." ::= { ipMulticastForwardEntry 6 } ipMulticastForwardProto OBJECT-TYPE SYNTAX INTEGER { other (1), -- not specified local (2), -- local interface netmgmt (3), -- static route dvmrp (4), -- Distance Vector Multicast Routing mospf (5) -- Multicast Open Shortest Path First } ACCESS read-only STATUS mandatory DESCRIPTION "The routing mechanism via which this route was learned." ::= { ipMulticastForwardEntry 7 } ipMulticastForwardPolicy OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The general set of conditions that would cause the selection of one multipath route (set of next hops for a given destination) is referred to as 'policy'. Pusateri [Page 7] INTERNET DRAFT February 1993 Unless the mechanism indicated by ipForwardProto specifies otherwise, the policy specifier is the IP TOS Field. The encoding of IP TOS is as specified by the following convention. Zero indicates the default path if no more specific policy applies. +-----+-----+-----+-----+-----+-----+-----+-----+ | | | | | PRECEDENCE | TYPE OF SERVICE | 0 | | | | | +-----+-----+-----+-----+-----+-----+-----+-----+ IP TOS IP TOS Field Policy Field Policy Contents Code Contents Code 0 0 0 0 ==> 0 0 0 0 1 ==> 2 0 0 1 0 ==> 4 0 0 1 1 ==> 6 0 1 0 0 ==> 8 0 1 0 1 ==> 10 0 1 1 0 ==> 12 0 1 1 1 ==> 14 1 0 0 0 ==> 16 1 0 0 1 ==> 18 1 0 1 0 ==> 20 1 0 1 1 ==> 22 1 1 0 0 ==> 24 1 1 0 1 ==> 26 1 1 1 0 ==> 28 1 1 1 1 ==> 30 Protocols defining 'policy' otherwise must either define a set of values which are valid for this object or must implement an integer-instanced policy table for which this object's value acts as an index." ::= { ipMulticastForwardEntry 8 } ipMulticastForwardAge OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of seconds since this route was last updated or otherwise determined to be correct. Note that no semantics of `too old' can be implied except through knowledge of the routing protocol by which the route was learned." DEFVAL { 0 } ::= { ipMulticastForwardEntry 9 } Pusateri [Page 8] INTERNET DRAFT February 1993 ipMulticastForwardedDatagrams OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of IP Multicast datagrams that have been forwarded from the upstream interface listed in this entry to the downstream interface listed in this entry. Note that because there could be multiple downstream interfaces in this table for the same (source network, destination group), this number may not be the same as the number of IP multicast datagrams received on the upstream interface for a particular (source network, destination group)." ::= { ipMulticastForwardEntry 10 } ipMulticastForwardInfo OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-write STATUS mandatory DESCRIPTION "A reference to MIB definitions specific to the particular routing protocol which is responsible for this route, as determined by the value specified in the route's ipMulticastForwardProto value. If this information is not present, its value should be set to the OBJECT IDENTIFIER { 0 0 }, which is a syntactically valid object identifier, and any implementation conforming to ASN.1 and the Basic Encoding Rules must be able to generate and recognize this value." DEFVAL { { 0 0 } } -- 0.0 ::= { ipMulticastForwardEntry 11 } END 7. Acknowledgments The author would like to thank John Moy and Greg Minshall for their review and constructive comments. Pusateri [Page 9] INTERNET DRAFT February 1993 Author's Address: Thomas J. Pusateri Consultant 11820 Edgewater Ct. Raleigh, NC 27614 pusateri@cs.duke.edu 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). Pusateri [Page 10] INTERNET DRAFT February 1993 [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 11]