IDMR Working Group Dave Thaler INTERNET-DRAFT University of Michigan Expires October 1997 17 April 1996 Distance-Vector Multicast Routing Protocol 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 draft documents 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 "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 Distance-Vector Multicast Routing Protocol (DVMRP) protocol [5,6]. This MIB module is applicable to IP multicast routers which implement DVMRP. Expires October 1997 [Page 1] Draft DVMRP MIB April 1997 2. The SNMPv2 Network Management Framework The SNMPv2 Network Management Framework presently consists of three major components. They are: o the SMI, described in RFC 1902 [1] - the mechanisms used for describing and naming objects for the purpose of management. o the MIB-II, STD 17, RFC 1213 [2] - the core set of managed objects for the Internet suite of protocols. o the protocol, STD 15, RFC 1157 [3] and/or RFC 1905 [4], - the protocol for accessing managed objects. 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, 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. 3. Overview 3.1. Structure of MIB Managing DVMRP routers requires the following groups of information: o General statistics. o DVMRP configuration information common to all multicast-capable interfaces. o Information to store DVMRP neighbor information. o Information to store the DVMRP routing table. 3.1.1. General Description Expires October 1997 [Page 2] Draft DVMRP MIB April 1997 This MIB controls all aspects of the DVMRP protocol. It consists of four groups: o The dvmrpGeneralGroup is used to describe general configuration information. o The dvmrpInterfaceGroup is used to describe interface configuration and statistics, and augments the Multicast Routing Interface Table from the IP Multicast MIB [7]. o The dvmrpNeighborGroup is used to describe peer configuration and statistics. o The dvmrpRoutingGroup is used to store the DVMRP routing table. 3.2. Relationship to the Interfaces MIB This section clarifies the relationship of this MIB to the Interfaces MIB [8]. Several areas of correlation are addressed in the following subsections. The implementor is referred to the Interfaces MIB docu- ment in order to understand the general intent of these areas. 3.2.1. Layering Model A DVMRP interface may consist of either a virtual encapsulation interface (tunnel) or a physical interface. Each physical interface has an ifEntry in the Interfaces MIB [8]. Tunnels are handled by creating a logical interface (ifEntry) for each tunnel. These are then correlated to physical interfaces using the ifStack table of the Interfaces MIB. Typically, DVMRP tunnels use IP-in-IP encapsulation [9], although other encapsulation methods may be used as well. The basic model, therefore, looks something like this (for example): | | | | | | +--+ +---+ +--+ +---+ | | |IP-in-IP| | GRE | | | | tunnel | | tunnel | | | +--+ +---+ +--+ +---+ | | | | | | | | <== attachment to physical +--+ +---------+ +----------+ +--+ interfaces, to be provided | Physical interface | by ifStack table +--------------------------------+ 3.2.2. ifTestTable The ifTestTable usage is defined in the MIBs defining the Expires October 1997 [Page 3] Draft DVMRP MIB April 1997 encapsulation below the network layer. For example, if IP-in-IP encapsulation is being used, the ifTestTable is defined by IP-in-IP. 3.2.3. ifRcvAddressTable The ifRcvAddressTable usage is defined in the MIBs defining the encapsulation below the network layer. For example, if IP-in-IP encapsulation is being used, the ifRcvAddressTable is defined by IP- in-IP. 3.2.4. ifEntry IfEntries are defined in the MIBs defining the encapsulation below the network layer. For example, if IP-in-IP encapsulation [9] is being used, the ifEntry is defined by IP-in-IP. ifEntries will never be created by the DVMRP MIB. The DVMRP MIB always depends on some other ifIndex of some set of ifTypes. That is, to create an entry in the DVMRP MIB, the base ifEntry must already have been created through some other mechanism. The DVMRP interface entry does have its own RowStatus, permitting the DVMRP supplementary information to come and go, but not otherwise disturbing the ifIndex to which it is attached. If in a given imple- mentation the two are tightly bound, deleting the ifEntry may have the side effect of deleting the DVMRP interface entry. 3.3. Relationship to other MIBs 3.3.1. Relationship to the IP Multicast MIB Implementation of the IP Multicast MIB [7] is required. 3.3.2. Relationship to the IP Tunnel MIB Implementation of the IP Tunnel MIB [10] is required to support management of IP-in-IP tunnels which are commonly used with DVMRP. 4. Revision History A record of changes which will be removed before publication. 17 April 1997 (1) renamed dvmrpVersion to dvmrpVersionString and dvmrpVInterfaceTable to dvmrpInterfaceTable (with appropriate name changes to all member objects) Expires October 1997 [Page 4] Draft DVMRP MIB April 1997 for clarity. (2) deprecated most of the objects in the dvmrpVInterfaceTable, and all of the dvmrpAltNetTable, since they duplicate objects now present in other MIBs. (3) added dvmrpInterfaceRcvBadPkts, dvmrpInterfaceRcvBadRoutes, dvmrpNeighborRcvRoutes, dvmrpNeighborRcvBadPkts, and dvmrpNeighborRcvBadRoutes. (4) added dvmrpRouteUpTime. 13 June 1996 (1) moved dvmrpBoundaryTable to the IP Multicast MIB. (2) replaced dvmrpNeighborVersion with dvmrpNeighborMajorVersion, dvmrpNeighborMinorVersion, and dvmrpNeighborCapabilities. 11 December 1995 (1) added dvmrpNumRoutes and dvmrpReachableRoutes gauges to aid in detecting specific MBone problems. (2) added dvmrpVInterfaceStatus and changed MAX-ACCESS of existing columns to allow remote configuration of tunnels. (3) added dvmrpAltNetTable to allow management of alternate subnet information on physical interfaces. 6 June 1995 (1) updated dvmrpMIB with IANA-assigned OID (2) added dvmrpVInterfaceInOctets and dvmrpVInterfaceOutOctets (3) added subnet(4) to dvmrpVInterfaceType (4) modified dvmrpNeighborTable to be INDEX-ed by dvmrpNeighborVifIndex and dvmrpNeighborAddress (5) added dvmrpRouteTable and dvmrpRouteNextHopTable 23 March 1995 - initial version. Expires October 1997 [Page 5] Draft DVMRP MIB April 1997 5. Definitions DVMRP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, experimental, Integer32, Counter32, Gauge32, IpAddress, TimeTicks FROM SNMPv2-SMI DisplayString, RowStatus FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF ifIndex FROM IF-MIB; dvmrpMIB MODULE-IDENTITY LAST-UPDATED "9704171500Z" ORGANIZATION "IETF IDMR Working Group." CONTACT-INFO " Dave Thaler University of Michigan 1301 Beal Ave. Ann Arbor, MI 48109-2122 EMail: thalerd@eecs.umich.edu" DESCRIPTION "The MIB module for management of DVMRP routers." ::= { experimental 62 } dvmrpMIBObjects OBJECT IDENTIFIER ::= { dvmrpMIB 1 } dvmrp OBJECT IDENTIFIER ::= { dvmrpMIBObjects 1 } dvmrpVersionString OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The router's DVMRP version information." ::= { dvmrp 1 } dvmrpGenerationId OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The generation identifier for the routing process. This is used by neighboring routers to detect whether the DVMRP routing table should be resent." ::= { dvmrp 2 } dvmrpNumRoutes OBJECT-TYPE Expires October 1997 [Page 6] Draft DVMRP MIB April 1997 SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of entries in the routing table. This can be used to monitor the routing table size to detect illegal advertisements of unicast routes." ::= { dvmrp 9 } dvmrpReachableRoutes OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of entries in the routing table with non infinite metrics. This can be used to detect network partitions by observing the ratio of reachable routes to total routes." ::= { dvmrp 10 } -- The DVMRP Interface Table dvmrpInterfaceTable OBJECT-TYPE SYNTAX SEQUENCE OF DvmrpInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing the router's multicast- capable interfaces." ::= { dvmrp 3 } dvmrpInterfaceEntry OBJECT-TYPE SYNTAX DvmrpInterfaceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the dvmrpInterfaceTable. This row augments ipMRouteInterfaceEntry in the IP Multicast MIB, where the threshold object resides." INDEX { ifIndex } ::= { dvmrpInterfaceTable 1 } DvmrpInterfaceEntry ::= SEQUENCE { dvmrpInterfaceType INTEGER, -- deprecated dvmrpInterfaceOperState INTEGER, -- deprecated dvmrpInterfaceLocalAddress IpAddress, dvmrpInterfaceRemoteAddress IpAddress, -- deprecated Expires October 1997 [Page 7] Draft DVMRP MIB April 1997 dvmrpInterfaceRemoteSubnetMask IpAddress, -- deprecated dvmrpInterfaceMetric Integer32, dvmrpInterfaceRateLimit Integer32, -- deprecated dvmrpInterfaceInPkts Counter32, -- deprecated dvmrpInterfaceOutPkts Counter32, -- deprecated dvmrpInterfaceInOctets Counter32, -- deprecated dvmrpInterfaceOutOctets Counter32, -- deprecated dvmrpInterfaceStatus RowStatus, dvmrpInterfaceRcvBadPkts Counter32, dvmrpInterfaceRcvBadRoutes Counter32 } dvmrpInterfaceType OBJECT-TYPE SYNTAX INTEGER { tunnel(1), srcrt(2), querier(3), subnet(4) } MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The type of this DVMRP interface, whether it uses a tunnel, source routing, a physical interface for which we are a querier, or a physical interface for which we are not a querier. This object is deprecated in favor of ifType." DEFVAL { tunnel } ::= { dvmrpInterfaceEntry 2 } dvmrpInterfaceOperState OBJECT-TYPE SYNTAX INTEGER { up(1), down(2) } MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The current operational state of this DVMRP interface. This object is deprecated in favor of ifOperStatus." ::= { dvmrpInterfaceEntry 3 } dvmrpInterfaceLocalAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address this system will use as a source address on this interface. On unnumbered interfaces, it must be the same value as dvmrpInterfaceLocalAddress for some interface on the system." ::= { dvmrpInterfaceEntry 4 } dvmrpInterfaceRemoteAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS deprecated Expires October 1997 [Page 8] Draft DVMRP MIB April 1997 DESCRIPTION "The IP address of the remote end of this DVMRP virtual interface. For a tunnel (including source routed), this is the IP address of the neighboring router. For a subnet, this is the subnet address. This object is deprecated in favor of address information associated with the underlying ifEntry." ::= { dvmrpInterfaceEntry 5 } dvmrpInterfaceRemoteSubnetMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The subnet mask for a directly connected subnet. For a tunnel, this should be 0.0.0.0. This object is deprecated in favor of address information associated with the underlying ifEntry." ::= { dvmrpInterfaceEntry 6 } dvmrpInterfaceMetric OBJECT-TYPE SYNTAX Integer32 (1..31) MAX-ACCESS read-create STATUS current DESCRIPTION "The distance metric for this interface which is used to calculate distance vectors." DEFVAL { 1 } ::= { dvmrpInterfaceEntry 7 } dvmrpInterfaceRateLimit OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS deprecated DESCRIPTION "The rate-limit, in kilobits per second, of forwarded multicast traffic on the interface. A rate-limit of 0 indicates that no rate limiting is done. This object has been moved to the IP Multicast MIB." DEFVAL { 0 } ::= { dvmrpInterfaceEntry 8 } dvmrpInterfaceInPkts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of multicast packets that have arrived on the Expires October 1997 [Page 9] Draft DVMRP MIB April 1997 interface. This object is deprecated in favor of ifInMulticastPkts in the Interfaces MIB [8]." ::= { dvmrpInterfaceEntry 9 } dvmrpInterfaceOutPkts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of multicast packets that have been sent on the interface. This object is deprecated in favor of ifOutMulticastPkts in the Interfaces MIB [8]." ::= { dvmrpInterfaceEntry 10 } dvmrpInterfaceInOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of octets in multicast packets that have arrived on the interface. This object has been moved to the IP Multicast MIB." ::= { dvmrpInterfaceEntry 11 } dvmrpInterfaceOutOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The number of octets in multicast packets that have been sent on the interface. This object has been moved to the IP Multicast MIB." ::= { dvmrpInterfaceEntry 12 } dvmrpInterfaceStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this entry. Creating the entry enables DVMRP on the virtual interface; destroying the entry or setting it to notInService disables DVMRP on the virtual interface." ::= { dvmrpInterfaceEntry 13 } dvmrpInterfaceRcvBadPkts OBJECT-TYPE SYNTAX Counter32 Expires October 1997 [Page 10] Draft DVMRP MIB April 1997 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of DVMRP packets received on the interface by the DVMRP process which were subsequently discarded as invalid (e.g. invalid packet format, or a route report from an unknown neighbor)." ::= { dvmrpInterfaceEntry 14 } dvmrpInterfaceRcvBadRoutes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of routes, in valid DVMRP packets, which were ignored because the entry was invalid." ::= { dvmrpInterfaceEntry 15 } -- The DVMRP Neighbor Table dvmrpNeighborTable OBJECT-TYPE SYNTAX SEQUENCE OF DvmrpNeighborEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing the router's DVMRP neighbors, as discovered by receiving DVMRP messages." ::= { dvmrp 4 } dvmrpNeighborEntry OBJECT-TYPE SYNTAX DvmrpNeighborEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the dvmrpNeighborTable." INDEX { dvmrpNeighborIfIndex, dvmrpNeighborAddress } ::= { dvmrpNeighborTable 1 } DvmrpNeighborEntry ::= SEQUENCE { dvmrpNeighborIfIndex Integer32, dvmrpNeighborAddress IpAddress, dvmrpNeighborUpTime TimeTicks, dvmrpNeighborExpiryTime TimeTicks, dvmrpNeighborGenerationId Integer32, dvmrpNeighborMajorVersion Integer32, dvmrpNeighborMinorVersion Integer32, dvmrpNeighborCapabilities BITS, Expires October 1997 [Page 11] Draft DVMRP MIB April 1997 dvmrpNeighborRcvRoutes Counter32, dvmrpNeighborRcvBadPkts Counter32, dvmrpNeighborRcvBadRoutes Counter32 } dvmrpNeighborIfIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of ifIndex for the virtual interface used to reach this DVMRP neighbor." ::= { dvmrpNeighborEntry 1 } dvmrpNeighborAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP address of the DVMRP neighbor for which this entry contains information." ::= { dvmrpNeighborEntry 2 } dvmrpNeighborUpTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time since this DVMRP neighbor (last) became a neighbor of the local router." ::= { dvmrpNeighborEntry 3 } dvmrpNeighborExpiryTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum time remaining before this DVMRP neighbor will be aged out." ::= { dvmrpNeighborEntry 4 } dvmrpNeighborGenerationId OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The neighboring router's generation identifier." ::= { dvmrpNeighborEntry 6 } Expires October 1997 [Page 12] Draft DVMRP MIB April 1997 dvmrpNeighborMajorVersion OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The neighboring router's major DVMRP version number." ::= { dvmrpNeighborEntry 7 } dvmrpNeighborMinorVersion OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The neighboring router's minor DVMRP version number." ::= { dvmrpNeighborEntry 8 } dvmrpNeighborCapabilities OBJECT-TYPE SYNTAX BITS { leaf(0), prune(1), generationID(2), mtrace(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object describes the neighboring router's capabilities. The leaf bit indicates that the neighbor has only one interface with neighbors. The prune bit indicates that the neighbor supports pruning. The generationID bit indicates that the neighbor sends its generationID in Probe messages. The mtrace bit indicates that the neighbor can handle mtrace requests." ::= { dvmrpNeighborEntry 9 } dvmrpNeighborRcvRoutes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of routes received in valid DVMRP packets received from this neighbor. This can be used to diagnose problems such as unicast route injection, as well as giving an indication of the level of DVMRP route exchange activity." ::= { dvmrpNeighborEntry 10 } dvmrpNeighborRcvBadPkts OBJECT-TYPE Expires October 1997 [Page 13] Draft DVMRP MIB April 1997 SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packet received from this neighbor which were discarded as invalid." ::= { dvmrpNeighborEntry 11 } dvmrpNeighborRcvBadRoutes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of routes, in valid DVMRP packets received from this neighbor, which were ignored because the entry was invalid." ::= { dvmrpNeighborEntry 12 } -- The DVMRP Route Table dvmrpRouteTable OBJECT-TYPE SYNTAX SEQUENCE OF DvmrpRouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of routes learned through DVMRP route exchange." ::= { dvmrp 5 } dvmrpRouteEntry OBJECT-TYPE SYNTAX DvmrpRouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the multicast routing information used by DVMRP in place of the unicast routing information." INDEX { dvmrpRouteSource, dvmrpRouteSourceMask } ::= { dvmrpRouteTable 1 } DvmrpRouteEntry ::= SEQUENCE { dvmrpRouteSource IpAddress, dvmrpRouteSourceMask IpAddress, dvmrpRouteUpstreamNeighbor IpAddress, dvmrpRouteIfIndex Integer32, dvmrpRouteMetric Integer32, dvmrpRouteExpiryTime TimeTicks, dvmrpRouteUpTime TimeTicks } Expires October 1997 [Page 14] Draft DVMRP MIB April 1997 dvmrpRouteSource OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network address which when combined with the corresponding value of dvmrpRouteSourceMask identifies the sources for which this entry contains multicast routing information." ::= { dvmrpRouteEntry 1 } dvmrpRouteSourceMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network mask which when combined with the corresponding value of dvmrpRouteSource identifies the sources for which this entry contains multicast routing information." ::= { dvmrpRouteEntry 2 } dvmrpRouteUpstreamNeighbor OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the upstream neighbor (e.g., RPF neighbor) from which IP datagrams from these sources are received." ::= { dvmrpRouteEntry 3 } dvmrpRouteIfIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The value of ifIndex for the interface on which IP datagrams sent by these sources are received." ::= { dvmrpRouteEntry 4 } dvmrpRouteMetric OBJECT-TYPE SYNTAX Integer32 (1..32) MAX-ACCESS read-only STATUS current DESCRIPTION "The distance in hops to the source subnet." ::= { dvmrpRouteEntry 5 } Expires October 1997 [Page 15] Draft DVMRP MIB April 1997 dvmrpRouteExpiryTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum amount of time remaining before this entry will be aged out." ::= { dvmrpRouteEntry 6 } dvmrpRouteUpTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time since the route represented by this entry was learned by the router." ::= { dvmrpRouteEntry 7 } -- The DVMRP Routing Next Hop Table dvmrpRouteNextHopTable OBJECT-TYPE SYNTAX SEQUENCE OF DvmrpRouteNextHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on the next hops on outgoing interfaces for routing IP multicast datagrams." ::= { dvmrp 6 } dvmrpRouteNextHopEntry OBJECT-TYPE SYNTAX DvmrpRouteNextHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the list of next hops on outgoing interfaces to which IP multicast datagrams from particular sources are routed." INDEX { dvmrpRouteNextHopSource, dvmrpRouteNextHopSourceMask, dvmrpRouteNextHopIfIndex } ::= { dvmrpRouteNextHopTable 1 } DvmrpRouteNextHopEntry ::= SEQUENCE { dvmrpRouteNextHopSource IpAddress, dvmrpRouteNextHopSourceMask IpAddress, dvmrpRouteNextHopIfIndex Integer32, dvmrpRouteNextHopType INTEGER } Expires October 1997 [Page 16] Draft DVMRP MIB April 1997 dvmrpRouteNextHopSource OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network address which when combined with the corresponding value of dvmrpRouteNextHopSourceMask identifies the sources for which this entry specifies a next hop on an outgoing interface." ::= { dvmrpRouteNextHopEntry 1 } dvmrpRouteNextHopSourceMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network mask which when combined with the corresponding value of dvmrpRouteNextHopSource identifies the sources for which this entry specifies a next hop on an outgoing interface." ::= { dvmrpRouteNextHopEntry 2 } dvmrpRouteNextHopIfIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifIndex value of the interface for the outgoing inter- face for this next hop." ::= { dvmrpRouteNextHopEntry 3 } dvmrpRouteNextHopType OBJECT-TYPE SYNTAX INTEGER { leaf(1), branch(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Type is leaf if no downstream dependent neighbors exist on the outgoing virtual interface. Otherwise, type is branch." ::= { dvmrpRouteNextHopEntry 4 } -- The DVMRP Alternate Subnet Table dvmrpAltNetTable OBJECT-TYPE SYNTAX SEQUENCE OF DvmrpAltNetEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION Expires October 1997 [Page 17] Draft DVMRP MIB April 1997 "The (conceptual) table listing the router's alternate subnets on physical interfaces for use in constructing the routing tables." ::= { dvmrp 8 } dvmrpAltNetEntry OBJECT-TYPE SYNTAX DvmrpAltNetEntry MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "An entry (conceptual row) in the dvmrpAltNetTable." INDEX { dvmrpAltNetIfIndex, dvmrpAltNetAddress, dvmrpAltNetMask } ::= { dvmrpAltNetTable 1 } DvmrpAltNetEntry ::= SEQUENCE { dvmrpAltNetIfIndex Integer32, -- deprecated dvmrpAltNetAddress IpAddress, -- deprecated dvmrpAltNetMask IpAddress, -- deprecated dvmrpAltNetStatus RowStatus -- deprecated } dvmrpAltNetIfIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "The ifIndex value of the interface to which this alternate subnet applies." ::= { dvmrpAltNetEntry 1 } dvmrpAltNetAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "The subnet address of the alternate subnet." ::= { dvmrpAltNetEntry 2 } dvmrpAltNetMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS deprecated DESCRIPTION "The subnet mask of the alternate subnet." ::= { dvmrpAltNetEntry 3 } dvmrpAltNetStatus OBJECT-TYPE SYNTAX RowStatus Expires October 1997 [Page 18] Draft DVMRP MIB April 1997 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." ::= { dvmrpAltNetEntry 4 } -- conformance information dvmrpMIBConformance OBJECT IDENTIFIER ::= { dvmrpMIB 2 } dvmrpMIBCompliances OBJECT IDENTIFIER ::= { dvmrpMIBConformance 1 } dvmrpMIBGroups OBJECT IDENTIFIER ::= { dvmrpMIBConformance 2 } -- compliance statements dvmrpMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for the DVMRP MIB." MODULE -- this module MANDATORY-GROUPS { dvmrpGeneralGroup, dvmrpInterfaceGroup, dvmrpNeighborGroup, dvmrpRoutingGroup } ::= { dvmrpMIBCompliances 1 } -- units of conformance dvmrpMIBGroup OBJECT-GROUP OBJECTS { dvmrpVersionString, dvmrpGenerationId, dvmrpNumRoutes, dvmrpReachableRoutes, dvmrpInterfaceType, dvmrpInterfaceOperState, dvmrpInterfaceLocalAddress, dvmrpInterfaceRemoteAddress, dvmrpInterfaceRemoteSubnetMask, dvmrpInterfaceMetric, dvmrpInterfaceRateLimit, dvmrpInterfaceInPkts, dvmrpInterfaceOutPkts, dvmrpInterfaceInOctets, dvmrpInterfaceOutOctets, dvmrpInterfaceStatus, dvmrpNeighborUpTime, dvmrpNeighborExpiryTime, dvmrpNeighborGenerationId, dvmrpNeighborMajorVersion, dvmrpNeighborMinorVersion, dvmrpNeighborCapabilities, dvmrpRouteUpstreamNeighbor, dvmrpRouteIfIndex, dvmrpRouteMetric, dvmrpRouteExpiryTime, Expires October 1997 [Page 19] Draft DVMRP MIB April 1997 dvmrpRouteNextHopType, dvmrpAltNetStatus } STATUS deprecated DESCRIPTION "A collection of objects to support management of DVMRP routers." ::= { dvmrpMIBGroups 1 } dvmrpGeneralGroup OBJECT-GROUP OBJECTS { dvmrpVersionString, dvmrpGenerationId, dvmrpNumRoutes, dvmrpReachableRoutes } STATUS current DESCRIPTION "A collection of objects used to describe general DVMRP configuration information." ::= { dvmrpMIBGroups 2 } dvmrpInterfaceGroup OBJECT-GROUP OBJECTS { dvmrpInterfaceLocalAddress, dvmrpInterfaceMetric, dvmrpInterfaceStatus, dvmrpInterfaceRcvBadPkts, dvmrpInterfaceRcvBadRoutes } STATUS current DESCRIPTION "A collection of objects used to describe DVMRP interface configuration and statistics." ::= { dvmrpMIBGroups 3 } dvmrpNeighborGroup OBJECT-GROUP OBJECTS { dvmrpNeighborUpTime, dvmrpNeighborExpiryTime, dvmrpNeighborGenerationId, dvmrpNeighborMajorVersion, dvmrpNeighborMinorVersion, dvmrpNeighborCapabilities, dvmrpNeighborRcvRoutes, dvmrpNeighborRcvBadPkts, dvmrpNeighborRcvBadRoutes } STATUS current DESCRIPTION "A collection of objects used to describe DVMRP peer configuration and statistics." ::= { dvmrpMIBGroups 4 } dvmrpRoutingGroup OBJECT-GROUP OBJECTS { dvmrpRouteUpstreamNeighbor, dvmrpRouteIfIndex, dvmrpRouteMetric, dvmrpRouteExpiryTime, dvmrpRouteUpTime, dvmrpRouteNextHopType } STATUS current Expires October 1997 [Page 20] Draft DVMRP MIB April 1997 DESCRIPTION "A collection of objects used to store the DVMRP routing table." ::= { dvmrpMIBGroups 5 } END 6. Acknowledgements David LeRoy and Tom Pusateri provided valuable feedback on the previous draft. The members of the IDMR WG and the MBone community provided the motivation for this work. 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, "A Simple Network Management Protocol (SNMP)", STD 15, 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] Waitzman, D., Partridge, C., and S.E. Deering, "Distance Vector Multicast Routing Protocol", RFC 1075, November 1988. [6] Pusateri, T., "Distance Vector Multicast Routing Protocol", Work in progress, February 1997. [7] McCloghrie, K., Farinacci, D., and D. Thaler, "IP Multicast Routing MIB", Work in progress, March 1997. [8] McCloghrie, K., and F. Kastenholz, "Evolution of the Interfaces Group of MIB-II", RFC 1573, January 1994. [9] Perkins, C., "IP Encapsulation within IP", RFC 2003, October 1996. Expires October 1997 [Page 21] Draft DVMRP MIB April 1997 [10] Thaler, D., "IP Tunnel MIB", Work in progress, April 1997. 8. Security Considerations Security considerations are not discussed in this memo. 9. Author's Address Dave Thaler Department of Electrical Engineering and Computer Science University of Michigan 1301 Beal Ave. Ann Arbor, MI 48109-2122 Phone: (313) 763-5243 EMail: thalerd@eecs.umich.edu Expires October 1997 [Page 22] Draft DVMRP MIB April 1997 Table of Contents 1 Introduction .................................................... 1 2 The SNMPv2 Network Management Framework ......................... 2 2.1 Object Definitions ............................................ 2 3 Overview ........................................................ 2 3.1 Structure of MIB .............................................. 2 3.1.1 General Description ......................................... 2 3.2 Relationship to the Interfaces MIB ............................ 3 3.2.1 Layering Model .............................................. 3 3.2.2 ifTestTable ................................................. 3 3.2.3 ifRcvAddressTable ........................................... 4 3.2.4 ifEntry ..................................................... 4 3.3 Relationship to other MIBs .................................... 4 3.3.1 Relationship to the IP Multicast MIB ........................ 4 3.3.2 Relationship to the IP Tunnel MIB ........................... 4 4 Revision History ................................................ 4 5 Definitions ..................................................... 6 6 Acknowledgements ................................................ 21 7 References ...................................................... 21 8 Security Considerations ......................................... 22 9 Author's Address ................................................ 22 Expires October 1997 [Page 23]