Inter-Domain Multicast Routing (IDMR) A. Ballardie INTERNET-DRAFT Consultant Expires January 1998 D. Thaler U. Michigan July 18, 1997 Core Based Trees (CBT) Multicast Routing 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". Abstract This memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. More precisely, it describes managed objects specific to the Core Based Trees (CBT) multicast routing protocol version 2 [5]. Managed objects which are common to all multicast routing protocols, including CBT, can be found in [6]. This MIB module is applicable to IP multicast routers which implement CBTv2. 1. Introduction This memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. More precisely, it describes managed objects specific to the Expires December 1997 [Page 1] INTERNET-DRAFT CBTv2 MIB July 1997 Core Based Trees (CBT) multicast routing protocol version 2 [5]. Managed objects which are common to all multicast routing protocols, including CBT, can be found in [6]. This MIB module is applicable to IP multicast routers which implement CBTv2. 2. The SNMPv2 Network Management Framework The SNMPv2 Network Management Framework presently consists of three major components. They are: o RFC 1902 [1] defines the structure of management information (SMI) for SNMPv2. This deals with 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] define two versions of the protocol used for network access to managed objects. This protocol is called the "Simple Network Management Protocol". The Framework permits new objects to be defined for the purpose of experimentation and evaluation. 2.1. Object Definitions Managed objects are accessed via a virtual information store, known as the Management Information Base or MIB. Objects in the MIB are defined using a subset of the Abstract Syntax Notation One (ASN.1) data definition language; this subset is defined in the SMI [1]. 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. 3. Overview This MIB controls all aspects of the CBT protocol. It consists of five groups: Expires December 1997 [Page 2] INTERNET-DRAFT CBTv2 MIB July 1997 o The cbtGeneralGroup is used to describe general configuration information for all CBT routers. o The cbtInterfaceGroup is used to describe interface configuration and statistics. o The cbtBootstrapGroup is used to describe information relating to auto-bootstrapping for core discovery. o The cbtStaticMappingGroup is used to describe static mappings when auto-bootstrapping is not in use. o The cbtBorderGroup is used to describe configuration information for CBT border routers. Expires December 1997 [Page 3] INTERNET-DRAFT CBTv2 MIB July 1997 4. Definitions CBT-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, experimental, Integer32, IpAddress, TimeTicks FROM SNMPv2-SMI RowStatus, TruthValue FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; cbtMIB MODULE-IDENTITY LAST-UPDATED "9706041500Z" ORGANIZATION "IETF IDMR Working Group." CONTACT-INFO " Tony Ballardie, Research Consultant, EMail: ABallardie@acm.org" DESCRIPTION "The MIB module for management of CBT routers." ::= { experimental XX } cbtMIBObjects OBJECT IDENTIFIER ::= { cbtMIB 1 } cbt OBJECT IDENTIFIER ::= { cbtMIBObjects 1 } -- -- The CBT General Group -- cbtCoreDiscoveryMethod OBJECT-TYPE SYNTAX INTEGER { static(1), -- using static configuration bootstrap(2) -- using bootstrap for core discovery } MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates which method this CBT router is using for core discovery. Note that all routers in the CBT domain must use the same method." ::= { cbt 3 } Expires December 1997 [Page 4] INTERNET-DRAFT CBTv2 MIB July 1997 -- -- The CBT Interface Group -- cbtInterfaceTable OBJECT-TYPE SYNTAX SEQUENCE OF CbtInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing the router's CBT interfaces. CBT is enabled on all interfaces listed in this table." ::= { cbt 4 } cbtInterfaceEntry OBJECT-TYPE SYNTAX CbtInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the cbtInterfaceTable." INDEX { cbtInterfaceIfIndex } ::= { cbtInterfaceTable 1 } CbtInterfaceEntry ::= SEQUENCE { cbtInterfaceIfIndex Integer32, cbtInterfaceAddress IpAddress, cbtInterfaceDR IpAddress, cbtInterfaceHelloPreference Integer32, cbtInterfaceHelloInterval Integer32, cbtInterfaceStatus RowStatus } cbtInterfaceIfIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifIndex value of this CBT interface." ::= { cbtInterfaceEntry 1 } cbtInterfaceAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address of the CBT interface." Expires December 1997 [Page 5] INTERNET-DRAFT CBTv2 MIB July 1997 ::= { cbtInterfaceEntry 2 } cbtInterfaceDR OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The Designated Router's address on this CBT interface. For point-to-point interfaces, this object has the value 0.0.0.0. If the local router is the DR, then the value will be equal to cbtInterfaceAddress." ::= { cbtInterfaceEntry 5 } cbtInterfaceHelloPreference OBJECT-TYPE SYNTAX Integer32 (1..255) MAX-ACCESS read-create STATUS current DESCRIPTION "This router's configured Hello preference value on this interface. This object does not report the preference value currently in use by the DR, which is always zero." DEFVAL { 255 } ::= { cbtInterfaceEntry 6 } cbtInterfaceHelloInterval OBJECT-TYPE SYNTAX Integer32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The frequency at which CBT HELLO messages are transmitted on this CBT interface." DEFVAL { 60 } ::= { cbtInterfaceEntry 7 } cbtInterfaceStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this entry. Creating the entry enables CBT on the interface; destroying the entry disables CBT on the interface." ::= { cbtInterfaceEntry 10 } Expires December 1997 [Page 6] INTERNET-DRAFT CBTv2 MIB July 1997 -- -- The CBT Bootstrap Group -- cbtBSRAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address of the bootstrap router (BSR) for the local CBT region." ::= { cbt 8 } cbtBSRExpiryTime 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 Core-Set message. For other routers, this is the time until it may accept an Core-Set message from a lower candidate BSR." ::= { cbt 9 } cbtCandidateBSRPreference 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." ::= { cbt 10 } cbtCandidateCoreHoldTime 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 Core. The value of 0 is used to indicate that the local system is not a Candidate-Core." ::= { cbt 11 } Expires December 1997 [Page 7] INTERNET-DRAFT CBTv2 MIB July 1997 -- The CBT Core-Set Table cbtCoreSetTable OBJECT-TYPE SYNTAX SEQUENCE OF CbtCoreSetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing CBT information for candidate Core routers for IP multicast groups. When the local router is the BSR, this information is obtained from received Candidate-Core-Advertisements. When the local router is not the BSR, this information is obtained from received Core-Set messages." ::= { cbt 5 } cbtCoreSetEntry OBJECT-TYPE SYNTAX CbtCoreSetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the cbtCoreSetTable." INDEX { cbtCoreSetGroupAddress, cbtCoreSetGroupMask, cbtCoreSetAddress } ::= { cbtCoreSetTable 1 } CbtCoreSetEntry ::= SEQUENCE { cbtCoreSetGroupAddress IpAddress, cbtCoreSetGroupMask IpAddress, cbtCoreSetAddress IpAddress, cbtCoreSetHoldTime Integer32, cbtCoreSetExpiryTime TimeTicks } cbtCoreSetGroupAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP multicast group address which, when combined with cbtCoreSetGroupMask, gives the group prefix for which this entry contains information about the Candidate-Core." ::= { cbtCoreSetEntry 1 } cbtCoreSetGroupMask OBJECT-TYPE SYNTAX IpAddress Expires December 1997 [Page 8] INTERNET-DRAFT CBTv2 MIB July 1997 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The multicast group address mask which, when combined with cbtCoreSetGroupAddress, gives the group prefix for which this entry contains information about the Candidate-Core." ::= { cbtCoreSetEntry 2 } cbtCoreSetAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP address of the Candidate-Core." ::= { cbtCoreSetEntry 3 } cbtCoreSetHoldTime OBJECT-TYPE SYNTAX Integer32 (0..255) UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The holdtime of a Candidate-Core. If the local router is not the BSR, this value is 0." ::= { cbtCoreSetEntry 4 } cbtCoreSetExpiryTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum time remaining before the Candidate-Core will be declared down. If the local router is not the BSR, this value is 0." ::= { cbtCoreSetEntry 5 } -- The CBT Candidate-Core Table cbtCandidateCoreTable OBJECT-TYPE SYNTAX SEQUENCE OF CbtCandidateCoreEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing the IP multicast groups for Expires December 1997 [Page 9] INTERNET-DRAFT CBTv2 MIB July 1997 which the local router is to advertise itself as a Candidate-Core when the value of cbtCandidateCoreHoldTime is non-zero. If this table is empty, then the local router will advertise itself as a Candidate-Core for all groups (providing the value of cbtCandidateCoreHoldTime is non- zero)." ::= { cbt 6 } cbtCandidateCoreEntry OBJECT-TYPE SYNTAX CbtCandidateCoreEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the cbtCandidateCoreTable." INDEX { cbtCandidateCoreGroupAddress, cbtCandidateCoreGroupMask } ::= { cbtCandidateCoreTable 1 } CbtCandidateCoreEntry ::= SEQUENCE { cbtCandidateCoreGroupAddress IpAddress, cbtCandidateCoreGroupMask IpAddress, cbtCandidateCoreAddress IpAddress, cbtCandidateCoreRowStatus RowStatus } cbtCandidateCoreGroupAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP multicast group address which, when combined with cbtCandidateCoreGroupMask, identifies a group prefix for which the local router will advertise itself as a Candidate-Core." ::= { cbtCandidateCoreEntry 1 } cbtCandidateCoreGroupMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The multicast group address mask which, when combined with cbtCandidateCoreGroupMask, identifies a group prefix for which the local router will advertise itself as a Candidate-Core." Expires December 1997 [Page 10] INTERNET-DRAFT CBTv2 MIB July 1997 ::= { cbtCandidateCoreEntry 2 } cbtCandidateCoreAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The (unicast) address of the interface which will be advertised as a Candidate-Core." ::= { cbtCandidateCoreEntry 3 } cbtCandidateCoreRowStatus 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." ::= { cbtCandidateCoreEntry 4 } Expires December 1997 [Page 11] INTERNET-DRAFT CBTv2 MIB July 1997 -- -- The CBT Static Mapping Group -- -- CBT Static Core Mapping Table cbtStaticCoreTable OBJECT-TYPE SYNTAX SEQUENCE OF CbtStaticCoreEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing mappings." ::= { cbt 7 } cbtStaticCoreEntry OBJECT-TYPE SYNTAX CbtStaticCoreEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing mapping information." INDEX { cbtCoreGroupAddress, cbtCoreGroupMask } ::= { cbtStaticCoreTable 1} CbtStaticCoreEntry ::= SEQUENCE { cbtCoreGroupAddress IpAddress, cbtCoreGroupMask IpAddress, cbtCoreAddress IpAddress, cbtCoreRowStatus RowStatus } cbtCoreGroupAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "IP class D (group) address." ::= { cbtStaticCoreEntry 1 } cbtCoreGroupMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION Expires December 1997 [Page 12] INTERNET-DRAFT CBTv2 MIB July 1997 "Network mask covering group address to represent a contiguous range of group addresses associated with a particular core router." ::= { cbtStaticCoreEntry 2 } cbtCoreAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "IP address of core router for the given group(s)." ::= { cbtStaticCoreEntry 3 } cbtCoreRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row, by which entries may be created or deleted from this table." ::= { cbtStaticCoreEntry 4 } Expires December 1997 [Page 13] INTERNET-DRAFT CBTv2 MIB July 1997 -- -- The CBT Border Group -- cbtBorderRouterAddress OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "The IP address which the router is using as the source address in BR_HELLO messages." ::= { cbt 1 } cbtDesignatedBR OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address of the domain's designated border router." ::= { cbt 2 } cbtBRHelloPreference OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "This router's preference value for BR Hello messages. This object does not report the DBR preference value, which is zero. A value of 0 indicates that the router is not acting as a border router." ::= { cbt 12 } Expires December 1997 [Page 14] INTERNET-DRAFT CBTv2 MIB July 1997 -- conformance information cbtMIBConformance OBJECT IDENTIFIER ::= { cbtMIB 2 } cbtMIBCompliances OBJECT IDENTIFIER ::= { cbtMIBConformance 1 } cbtMIBGroups OBJECT IDENTIFIER ::= { cbtMIBConformance 2 } -- compliance statements cbtRouterMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for routers running CBTv2, and implementing the CBT MIB." MODULE -- this module MANDATORY-GROUPS { cbtGeneralGroup, cbtInterfaceGroup } OBJECT cbtInterfaceStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." GROUP cbtBootstrapGroup DESCRIPTION "The cbtBootstrapGroup is mandatory only for those CBTv2 routers which implement auto-bootstrap for Core Discovery." GROUP cbtStaticMappingGroup DESCRIPTION "The cbtBootstrapGroup is mandatory only for those CBTv2 routers which implement static mappings." GROUP cbtBorderGroup DESCRIPTION "The cbtBorderGroup is mandatory only for those CBTv2 routers which implement multicast border router functionality." ::= { cbtMIBCompliances 1 } -- units of conformance cbtGeneralGroup OBJECT-GROUP OBJECTS { cbtCoreDiscoveryMethod } Expires December 1997 [Page 15] INTERNET-DRAFT CBTv2 MIB July 1997 STATUS current DESCRIPTION "A collection of objects to support management of general CBT configuration information." ::= { cbtMIBGroups 1 } cbtInterfaceGroup OBJECT-GROUP OBJECTS { cbtInterfaceAddress, cbtInterfaceDR, cbtInterfaceHelloPreference, cbtInterfaceHelloInterval, cbtInterfaceStatus } STATUS current DESCRIPTION "A collection of objects to support management of CBT interfaces." ::= { cbtMIBGroups 2 } cbtBorderGroup OBJECT-GROUP OBJECTS { cbtBorderRouterAddress, cbtDesignatedBR, cbtBRHelloPreference } STATUS current DESCRIPTION "A collection of objects to support management of CBT border routers." ::= { cbtMIBGroups 3 } cbtBootstrapGroup OBJECT-GROUP OBJECTS { cbtBSRAddress, cbtBSRExpiryTime, cbtCandidateBSRPreference, cbtCandidateCoreHoldTime, cbtCoreSetHoldTime, cbtCoreSetExpiryTime, cbtCandidateCoreAddress, cbtCandidateCoreRowStatus } STATUS current DESCRIPTION "A collection of objects to support management of information relating to auto-bootstrap as the core discovery mechanism." ::= { cbtMIBGroups 4 } cbtStaticMappingGroup OBJECT-GROUP OBJECTS { cbtCoreAddress, cbtCoreRowStatus } STATUS current DESCRIPTION "A collection of objects to support management of information relating to static configuration as the core discovery mechanism." Expires December 1997 [Page 16] INTERNET-DRAFT CBTv2 MIB July 1997 ::= { cbtMIBGroups 5 } END Expires December 1997 [Page 17] INTERNET-DRAFT CBTv2 MIB July 1997 5. Security Considerations Security issues are not discussed in this memo. 6. Acknowledgements Thanks to James Cowan for his review and comments. 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] A. Ballardie, "Core Based Trees (CBT version 2) Multicast Routing: Protocol Specification", Working Draft, April 1997. [6] McCloghrie, K., Farinacci, D., and D. Thaler, "IP Multicast Routing MIB", Working draft, draft-ietf-idmr-multicast-routmib-05.txt, March 1997. 8. Authors' Addresses Tony Ballardie, Research Consultant. E-mail: ABallardie@acm.org Dave Thaler Department of Electrical Engineering and Computer Science University of Michigan Expires December 1997 [Page 18] INTERNET-DRAFT CBTv2 MIB July 1997 1301 Beal Ave. Ann Arbor, MI 48109-2122 Phone: +1 313 763 5243 EMail: thalerd@eecs.umich.edu Table of Contents 1 Introduction .................................................... 1 2 The SNMPv2 Network Management Framework ......................... 2 2.1 Object Definitions ............................................ 2 3 Overview ........................................................ 2 4 Definitions ..................................................... 4 5 Security Considerations ......................................... 18 6 Acknowledgements ................................................ 18 7 References ...................................................... 18 8 Authors' Addresses .............................................. 18 Expires December 1997 [Page 19]