IDMR Working Group Keith McCloghrie INTERNET-DRAFT Dino Farinacci Expires December 1996 Cisco Systems Dave Thaler University of Michigan 10 June 1996 Protocol Independent Multicast MIB Status of this Memo 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 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 a "work in progress". 1. Introduction This memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects used for managing the Protocol Independent Multicast (PIM) protocol [5,6,7,8]. This MIB module is applicable to IP multicast routers which implement PIM. Draft PIM MIB June 1996 2. Revision History A record of changes which will be removed before publication. 9 June: (1) added pimRPSetTable and pimCandidateRPTable. (2) deprecated pimRPTable (to retain support for PIM version 1). (3) removed pimGroupTable. (4) added pimBSRAddress, pimBSRExpiryTime, pimCandidateBSRPreference and pimCandidateRPHoldTime. 4 November: (1) changed the PIM Group table to hold information common to all RPs of a group. (2) added the PIM RP table with each entry specific to an RP of a group. (3) added pimNeighborMode (4) modified the pimGroupTable to be indexed by pimGroupAddress and pimGroupRP, in order to allow for multiple RPs per group. 15 July - initial version. 3. The SNMP Network Management Framework The SNMP Network Management Framework presently consists of three major components. They are: o RFC 1902 [1] which defines the SMI, the mechanisms used for describing and naming objects for the purpose of management. o STD 17, RFC 1213 [2] defines MIB-II, the core set of managed objects for the Internet suite of protocols. o RFC 1157 [3] and RFC 1905 [4] which define two versions of the protocol used for network access to managed objects. Expires December 1996 [Page 2] Draft PIM MIB June 1996 The Framework permits new objects to be defined for the purpose of experimentation and evaluation. 3.1. Object Definitions 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) defined in the SMI. In particular, each object type is named by an OBJECT IDENTIFIER, an administratively assigned name. 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 descriptor, to refer to the object type. 4. Overview This MIB module contains five scalars and five tables. The tables are: (1) the PIM Interface Table which contains one row for each of the router's PIM interfaces; (2) the PIM Neighbor Table which contains one row for each of the router's PIM neighbors; and (3) the PIM RP-Set Table which contains the PIM (version 2) information for sets of candidate Rendezvous Points (RPs) for IP multicast group addresses with particular address prefixes. (4) the PIM Candidate-RP Table which contains the IP multicast groups for which the local router is to advertise itself as a Candidate- RP. If this table is empty, then the local router advertises itself as a Candidate-RP for all groups. (5) the (deprecated) PIM RP Table which contains the PIM (version 1) information for IP multicast groups which is common to all RPs of a group. Expires December 1996 [Page 3] Draft PIM MIB June 1996 5. Definitions PIM-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, experimental, Integer32, IpAddress, TimeTicks FROM SNMPv2-SMI RowStatus FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; pimMIB MODULE-IDENTITY LAST-UPDATED "9506121659Z" ORGANIZATION "IETF IDMR Working Group." CONTACT-INFO " Keith McCloghrie Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 US Phone: +1 408 526 5260 EMail: kzm@cisco.com" DESCRIPTION "The MIB module for management of PIM routers." ::= { experimental 61 } pimMIBObjects OBJECT IDENTIFIER ::= { pimMIB 1 } pim OBJECT IDENTIFIER ::= { pimMIBObjects 1 } pimMessageInterval OBJECT-TYPE SYNTAX Integer32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The interval at which periodic PIM sparse-mode (Join/Prune) messages are to be sent." ::= { pim 1 } pimBSRAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current Expires December 1996 [Page 4] Draft PIM MIB June 1996 DESCRIPTION "The IP address of the bootstrap router (BSR) for the local PIM region." ::= { pim 7 } pimBSRExpiryTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum time remaining before the bootstrap router will be declared down. For candidate BSRs, this is the time until it sends an RP-Set message. For other routers, this is the time until it may accept an RP-Set message from a lower candidate BSR." ::= { pim 8 } pimCandidateBSRPreference OBJECT-TYPE SYNTAX Integer32 (-1..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The preference value for the local system as a candidate bootstrap router. The value of -1 is used to indicate that the local system is not a candidate BSR." ::= { pim 9 } pimCandidateRPHoldTime OBJECT-TYPE SYNTAX Integer32 (0..255) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The holdtime of the local system when it is a candidate RP. The value of 0 is used to indicate that the local system is not a Candidate-RP." ::= { pim 10 } Expires December 1996 [Page 5] Draft PIM MIB June 1996 -- The PIM Interface Table pimInterfaceTable OBJECT-TYPE SYNTAX SEQUENCE OF PimInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing the router's PIM interfaces. IGMP and PIM are enabled on all interfaces listed in this table." ::= { pim 2 } pimInterfaceEntry OBJECT-TYPE SYNTAX PimInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the pimInterfaceTable." INDEX { pimInterfaceIfIndex } ::= { pimInterfaceTable 1 } PimInterfaceEntry ::= SEQUENCE { pimInterfaceIfIndex Integer32, pimInterfaceAddress IpAddress, pimInterfaceNetMask IpAddress, pimInterfaceMode INTEGER, pimInterfaceDR IpAddress, pimInterfaceQueryInterval Integer32, pimInterfaceStatus RowStatus } pimInterfaceIfIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifIndex value of this PIM interface." ::= { pimInterfaceEntry 1 } pimInterfaceAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address of the PIM interface." Expires December 1996 [Page 6] Draft PIM MIB June 1996 ::= { pimInterfaceEntry 2 } pimInterfaceNetMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The network mask for the IP address of the PIM interface." ::= { pimInterfaceEntry 3 } pimInterfaceMode OBJECT-TYPE SYNTAX INTEGER { dense(1), sparse(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The configured mode of this PIM interface." DEFVAL { dense } ::= { pimInterfaceEntry 4 } pimInterfaceDR OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The Designated Router on this PIM interface. For point- to-point interfaces, this object has the value 0.0.0.0." ::= { pimInterfaceEntry 5 } pimInterfaceQueryInterval OBJECT-TYPE SYNTAX Integer32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The frequency at which PIM Router-Query messages are transmitted on this PIM interface." DEFVAL { 30 } ::= { pimInterfaceEntry 6 } pimInterfaceStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this entry. Creating the entry enables PIM Expires December 1996 [Page 7] Draft PIM MIB June 1996 on the interface; destroying the entry disables PIM on the interface." ::= { pimInterfaceEntry 7 } -- The PIM Neighbor Table pimNeighborTable OBJECT-TYPE SYNTAX SEQUENCE OF PimNeighborEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing the router's PIM neighbors." ::= { pim 3 } pimNeighborEntry OBJECT-TYPE SYNTAX PimNeighborEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the pimNeighborTable." INDEX { pimNeighborAddress } ::= { pimNeighborTable 1 } PimNeighborEntry ::= SEQUENCE { pimNeighborAddress IpAddress, pimNeighborIfIndex Integer32, pimNeighborUpTime TimeTicks, pimNeighborExpiryTime TimeTicks, pimNeighborMode INTEGER } pimNeighborAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP address of the PIM neighbor for which this entry contains information." ::= { pimNeighborEntry 1 } pimNeighborIfIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current Expires December 1996 [Page 8] Draft PIM MIB June 1996 DESCRIPTION "The value of ifIndex for the interface used to reach this PIM neighbor." ::= { pimNeighborEntry 2 } pimNeighborUpTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time since this PIM neighbor (last) became a neighbor of the local router." ::= { pimNeighborEntry 3 } pimNeighborExpiryTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum time remaining before this PIM neighbor will be aged out." ::= { pimNeighborEntry 4 } pimNeighborMode OBJECT-TYPE SYNTAX INTEGER { dense(1), sparse(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The active PIM mode of this neighbor." ::= { pimNeighborEntry 5 } Expires December 1996 [Page 9] Draft PIM MIB June 1996 -- The PIM RP Table pimRPTable OBJECT-TYPE SYNTAX SEQUENCE OF PimRPEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "The (conceptual) table listing PIM version 1 information for the Rendezvous Points (RPs) for IP multicast groups. This table is deprecated since its function is replaced by the pimRPSetTable for PIM version 2." ::= { pim 5 } pimRPEntry OBJECT-TYPE SYNTAX PimRPEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "An entry (conceptual row) in the pimRPTable. There is one entry per RP address for each IP multicast group." INDEX { pimRPGroupAddress, pimRPAddress } ::= { pimRPTable 1 } PimRPEntry ::= SEQUENCE { pimRPGroupAddress IpAddress, pimRPAddress IpAddress, pimRPState INTEGER, pimRPStateTimer TimeTicks, pimRPLastChange TimeTicks, pimRPRowStatus RowStatus } pimRPGroupAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "The IP multicast group address for which this entry contains information about an RP." ::= { pimRPEntry 1 } pimRPAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS deprecated Expires December 1996 [Page 10] Draft PIM MIB June 1996 DESCRIPTION "The IP multicast group address for which this entry contains PIM version 1 information about an RP." ::= { pimRPEntry 2 } pimRPState OBJECT-TYPE SYNTAX INTEGER { up(1), down(2) } MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The state of the RP." ::= { pimRPEntry 3 } pimRPStateTimer OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The minimum time remaining before the next state change. When pimRPState is up, this is the minimum time which must expire until it can be declared down. When pimRPState is down, this is the time until it will be declared up (in order to retry)." ::= { pimRPEntry 4 } pimRPLastChange OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The value of sysUpTime at the time when the corresponding instance of pimRPState last changed its value." ::= { pimRPEntry 5 } pimRPRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS deprecated DESCRIPTION "The status of this row, by which new entries may be created, or old entries deleted from this table." ::= { pimRPEntry 6 } Expires December 1996 [Page 11] Draft PIM MIB June 1996 -- The PIM RP-Set Table pimRPSetTable OBJECT-TYPE SYNTAX SEQUENCE OF PimRPSetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing PIM information for candidate Rendezvous Points (RPs) for IP multicast groups. When the local router is the BSR, this information is obtained from received Candidate-RP-Advertisements. When the local router is not the BSR, this information is obtained from received RP-Set messages." ::= { pim 6 } pimRPSetEntry OBJECT-TYPE SYNTAX PimRPSetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the pimRPSetTable." INDEX { pimRPSetGroupAddress, pimRPSetGroupMask, pimRPSetAddress } ::= { pimRPSetTable 1 } PimRPSetEntry ::= SEQUENCE { pimRPSetGroupAddress IpAddress, pimRPSetGroupMask IpAddress, pimRPSetAddress IpAddress, pimRPSetHoldTime Integer32, pimRPSetExpiryTime TimeTicks } pimRPSetGroupAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP multicast group address which, when combined with pimRPSetGroupMask, gives the group prefix for which this entry contains information about the Candidate-RP." ::= { pimRPSetEntry 1 } pimRPSetGroupMask OBJECT-TYPE SYNTAX IpAddress Expires December 1996 [Page 12] Draft PIM MIB June 1996 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The multicast group address mask which, when combined with pimRPSetGroupAddress, gives the group prefix for which this entry contains information about the Candidate-RP." ::= { pimRPSetEntry 2 } pimRPSetAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP address of the Candidate-RP." ::= { pimRPSetEntry 3 } pimRPSetHoldTime OBJECT-TYPE SYNTAX Integer32 (0..255) UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The holdtime of a Candidate-RP. If the local router is not the BSR, this value is 0." ::= { pimRPSetEntry 4 } pimRPSetExpiryTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum time remaining before the Candidate-RP will be declared down. If the local router is not the BSR, this value is 0." ::= { pimRPSetEntry 5 } Expires December 1996 [Page 13] Draft PIM MIB June 1996 -- The PIM Candidate-RP Table pimCandidateRPTable OBJECT-TYPE SYNTAX SEQUENCE OF PimCandidateRPEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing the IP multicast groups for which the local router is to advertise itself as a Candidate-RP when the value of pimCandidateRPHoldTime is non-zero. If this table is empty, then the local router will advertise itself as a Candidate-RP for all groups (providing the value of pimCandidateRPHoldTime is non- zero)." ::= { pim 11 } pimCandidateRPEntry OBJECT-TYPE SYNTAX PimCandidateRPEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the pimCandidateRPTable." INDEX { pimCandidateRPGroupAddress, pimCandidateRPGroupMask } ::= { pimCandidateRPTable 1 } PimCandidateRPEntry ::= SEQUENCE { pimCandidateRPGroupAddress IpAddress, pimCandidateRPGroupMask IpAddress, pimCandidateRPAddress IpAddress, pimCandidateRPRowStatus RowStatus } pimCandidateRPGroupAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP multicast group address which, when combined with pimCandidateRPGroupMask, identifies a group prefix for which the local router will advertise itself as a Candidate-RP." ::= { pimCandidateRPEntry 1 } pimCandidateRPGroupMask OBJECT-TYPE SYNTAX IpAddress Expires December 1996 [Page 14] Draft PIM MIB June 1996 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The multicast group address mask which, when combined with pimCandidateRPGroupMask, identifies a group prefix for which the local router will advertise itself as a Candidate-RP." ::= { pimCandidateRPEntry 2 } pimCandidateRPAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The (unicast) address of the interface which will be advertised as a Candidate-RP." ::= { pimCandidateRPEntry 3 } pimCandidateRPRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row, by which new entries may be created, or old entries deleted from this table." ::= { pimCandidateRPEntry 4 } Expires December 1996 [Page 15] Draft PIM MIB June 1996 -- conformance information pimMIBConformance OBJECT IDENTIFIER ::= { pimMIB 2 } pimMIBCompliances OBJECT IDENTIFIER ::= { pimMIBConformance 1 } pimMIBGroups OBJECT IDENTIFIER ::= { pimMIBConformance 2 } -- compliance statements pimV2MIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for the PIM MIB." MODULE -- this module MANDATORY-GROUPS { pimV2MIBGroup } OBJECT pimInterfaceStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { pimMIBCompliances 2 } -- units of conformance pimV2MIBGroup OBJECT-GROUP OBJECTS { pimMessageInterval, pimNeighborIfIndex, pimBSRAddress, pimBSRExpiryTime, pimCandidateBSRPreference, pimCandidateRPHoldTime, pimNeighborUpTime, pimNeighborExpiryTime, pimNeighborMode, pimInterfaceAddress, pimInterfaceNetMask, pimInterfaceMode, pimInterfaceDR, pimInterfaceQueryInterval, pimInterfaceStatus, pimRPSetHoldTime, pimRPSetExpiryTime } STATUS current DESCRIPTION "A collection of objects to support management of PIM (version 2) routers." ::= { pimMIBGroups 2 } Expires December 1996 [Page 16] Draft PIM MIB June 1996 pimV2CandidateRPMIBGroup OBJECT-GROUP OBJECTS { pimCandidateRPAddress, pimCandidateRPRowStatus } STATUS current DESCRIPTION "A collection of objects to support configuration of which groups a router is to advertise itself as a Candidate-RP." ::= { pimMIBGroups 3 } pimV1MIBGroup OBJECT-GROUP OBJECTS { pimRPState, pimRPStateTimer, pimRPLastChange, pimRPRowStatus } STATUS deprecated DESCRIPTION "A collection of objects to support management of PIM (version 1) routers." ::= { pimMIBGroups 4 } END Expires December 1996 [Page 17] Draft PIM MIB June 1996 6. Acknowledgements This MIB module has been updated based on feedback from the IETF's Inter-Domain Multicast Routing (IDMR) Working Group. 7. References [1] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure of Management Information for version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996. [2] McCloghrie, K., and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", STD 17, RFC 1213, March 1991. [3] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", RFC 1157, May 1990. [4] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [5] Deering, S., Estrin, D., Farinacci, D., Jacobson, V., Liu, G., and L. Wei, "Protocol Independent Multicast (PIM): Motivation and Architecture", January 1995. [6] Deering, S., Estrin, D., Farinacci, D., Jacobson, V., Liu, G., and L. Wei, "Protocol Independent Multicast (PIM): Protocol Specification", January 1995. [7] Deering, S., Estrin, D., Farinacci, D., Handley, M., Helmy, A., Jacobson, V., Liu, C., Sharma, P., and D. Thaler, "Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification", May 1996. [8] Estrin, D., Farinacci, D., Jacobson, V., Liu, C., Wei, L., Sharma, P, and Helmy, A., "Protocol Independent Multicast-Dense Mode (PIM- DM): Protocol Specification", January 1996. Expires December 1996 [Page 18] Draft PIM MIB June 1996 8. Security Considerations Security issues are not discussed in this memo. 9. Author's Address Keith McCloghrie cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 Phone: +1 408 526 5260 EMail: kzm@cisco.com Dino Farinacci cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 Phone: +1 408 526 4696 EMail: dino@cisco.com Dave Thaler Department of Electrical Engineering and Computer Science University of Michigan 1301 Beal Ave. Ann Arbor, MI 48109-2122 Phone: +1 313 763 5243 EMail: thalerd@eecs.umich.edu Expires December 1996 [Page 19] Draft PIM MIB June 1996 Table of Contents 1 Introduction .................................................... 1 2 Revision History ................................................ 2 3 The SNMP Network Management Framework ........................... 2 3.1 Object Definitions ............................................ 3 4 Overview ........................................................ 3 5 Definitions ..................................................... 4 6 Acknowledgements ................................................ 18 7 References ...................................................... 18 8 Security Considerations ......................................... 19 9 Author's Address ................................................ 19 Expires December 1996 [Page 20]