IDMR Working Group Dave Thaler INTERNET-DRAFT Microsoft Expires November 1998 1 May 1998 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 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 Distance-Vector Multicast Routing Protocol (DVMRP) protocol [5,6]. This MIB module is applicable to IP multicast routers which implement DVMRP. 2. The SNMPv2 Network Management Framework The SNMPv2 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. Expires November 1998 [Page 1] Draft DVMRP MIB May 1998 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. 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. o Information related to DVMRP security. o Traps used to alert a manager of critical DVMRP events. Expires November 1998 [Page 2] Draft DVMRP MIB May 1998 3.1.1. General Description This MIB controls all aspects of the DVMRP protocol. It consists of five 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 describe the DVMRP routing table. o The dvmrpSecurityGroup is used to manage keys for securing DVMRP. 3.2. Relationship to the IP Tunnel MIB "DVMRP tunnels" (IP-in-IP tunnels which are commonly used with DVMRP) are not managed via this MIB. Instead, the IP Tunnel MIB [10] is used for this purpose. 4. Revision History A record of changes which will be removed before publication. 22 April 1998 (1) added dvmrpInterfaceSentRoutes to facilitate detection of route loss. (2) added dvmrpNeighborState to instrument adjacency status. (3) added dvmrpInterfaceMasterKey and dvmrpInterfaceMasterKeyVersion to facilitate key management via secure SNMP. (4) added traps 17 April 1997 Expires November 1998 [Page 3] Draft DVMRP MIB May 1998 (1) renamed dvmrpVersion to dvmrpVersionString and dvmrpVInterfaceTable to dvmrpInterfaceTable (with appropriate name changes to all member objects) 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 Expires November 1998 [Page 4] Draft DVMRP MIB May 1998 23 March 1995 - initial version. 5. Definitions DVMRP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, experimental, Integer32, Counter32, Gauge32, NOTIFICATION-TYPE, IpAddress, TimeTicks FROM SNMPv2-SMI DisplayString, RowStatus FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; dvmrpMIB MODULE-IDENTITY LAST-UPDATED "9804221900Z" ORGANIZATION "IETF IDMR Working Group." CONTACT-INFO " Dave Thaler Microsoft One Microsoft Way Redmond, WA 98052-6399 EMail: dthalerd@microsoft.com" 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 Expires November 1998 [Page 5] Draft DVMRP MIB May 1998 used by neighboring routers to detect whether the DVMRP routing table should be resent." ::= { dvmrp 2 } dvmrpNumRoutes OBJECT-TYPE 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." Expires November 1998 [Page 6] Draft DVMRP MIB May 1998 INDEX { dvmrpInterfaceIfIndex } ::= { dvmrpInterfaceTable 1 } DvmrpInterfaceEntry ::= SEQUENCE { dvmrpInterfaceIfIndex Integer32, dvmrpInterfaceType INTEGER, -- deprecated dvmrpInterfaceOperState INTEGER, -- deprecated dvmrpInterfaceLocalAddress IpAddress, dvmrpInterfaceRemoteAddress IpAddress, -- deprecated 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, dvmrpInterfaceSentRoutes Counter32, dvmrpInterfaceMasterKey DisplayString, dvmrpInterfaceMasterKeyVersion Integer32 } dvmrpInterfaceIfIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifIndex value of the interface for which DVMRP is enabled." ::= { dvmrpInterfaceEntry 1 } 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 } Expires November 1998 [Page 7] Draft DVMRP MIB May 1998 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 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 Expires November 1998 [Page 8] Draft DVMRP MIB May 1998 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 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 Expires November 1998 [Page 9] Draft DVMRP MIB May 1998 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 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 } Expires November 1998 [Page 10] Draft DVMRP MIB May 1998 dvmrpInterfaceSentRoutes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of routes, in DVMRP Report packets, which have been sent on this interface. Together with dvmrpNeighborRcvRoutes at a peer, this object is useful for detecting routes being lost." ::= { dvmrpInterfaceEntry 16 } dvmrpInterfaceMasterKey OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The master (shared) key for authenticating neighbors on this interface. This object is intended solely for the purpose of setting the master key, and MUST be accessible only via requests using both authentication and privacy. The agent MAY report an empty string in response to get, get-next, get-bulk requests." ::= { dvmrpInterfaceEntry 17 } dvmrpInterfaceMasterKeyVersion OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "The highest version number of all known master keys used for authenticating neighbors on this interface." ::= { dvmrpInterfaceEntry 18 } -- 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 Expires November 1998 [Page 11] Draft DVMRP MIB May 1998 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, dvmrpNeighborRcvRoutes Counter32, dvmrpNeighborRcvBadPkts Counter32, dvmrpNeighborRcvBadRoutes Counter32, dvmrpNeighborState INTEGER } 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 Expires November 1998 [Page 12] Draft DVMRP MIB May 1998 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 } 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) } Expires November 1998 [Page 13] Draft DVMRP MIB May 1998 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 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 } dvmrpNeighborState OBJECT-TYPE SYNTAX INTEGER { oneway(1), active(2), ignoring(3), down(4) } Expires November 1998 [Page 14] Draft DVMRP MIB May 1998 MAX-ACCESS read-only STATUS current DESCRIPTION "State of the neighbor adjacency." ::= { dvmrpNeighborEntry 13 } -- 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 } 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 Expires November 1998 [Page 15] Draft DVMRP MIB May 1998 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 } dvmrpRouteExpiryTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION Expires November 1998 [Page 16] Draft DVMRP MIB May 1998 "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 } dvmrpRouteNextHopSource OBJECT-TYPE Expires November 1998 [Page 17] Draft DVMRP MIB May 1998 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 interface 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 Expires November 1998 [Page 18] Draft DVMRP MIB May 1998 DESCRIPTION "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 Expires November 1998 [Page 19] Draft DVMRP MIB May 1998 "The subnet mask of the alternate subnet." ::= { dvmrpAltNetEntry 3 } dvmrpAltNetStatus 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." ::= { dvmrpAltNetEntry 4 } -- DVMRP Traps dvmrpTraps OBJECT IDENTIFIER ::= { dvmrp 11 } dvmrpNeighborLoss NOTIFICATION-TYPE OBJECTS { dvmrpInterfaceLocalAddress, -- The originator of the trap dvmrpNeighborIfIndex, dvmrpNeighborAddress, dvmrpNeighborState -- The new state } STATUS current DESCRIPTION "A dvmrpNeighborLoss trap signifies the loss of a 2-way adjacency with a neighbor. This trap should be generated when the neighbor state changes from active to one-way, ignoring, or down. The trap should be generated only if the router has no other neighbors on the same interface with a lower IP address than itself." ::= { dvmrpTraps 1 } dvmrpNeighborNotPruning NOTIFICATION-TYPE OBJECTS { dvmrpInterfaceLocalAddress, -- The originator of the trap dvmrpNeighborIfIndex, dvmrpNeighborAddress } STATUS current DESCRIPTION "A dvmrpNeighborNotPruning trap signifies that a non-pruning neighbor has been detected. This trap should be generated at most once per generation ID of the neighbor. For example, it may be generated at the time a neighbor is first Expires November 1998 [Page 20] Draft DVMRP MIB May 1998 heard from if the prune bit is not set in its capabilities. The trap should be generated only if the router has no other neighbors on the same interface with a lower IP address than itself." ::= { dvmrpTraps 2 } -- 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 } GROUP dvmrpSecurityGroup DESCRIPTION "This group is mandatory for agents which support both authentication and privacy of SNMP messages, and only for those network interfaces for which DVMRP is authenticating neighbors." ::= { dvmrpMIBCompliances 1 } -- units of conformance dvmrpMIBGroup OBJECT-GROUP OBJECTS { dvmrpVersionString, dvmrpGenerationId, dvmrpNumRoutes, dvmrpReachableRoutes, dvmrpInterfaceType, dvmrpInterfaceOperState, dvmrpInterfaceLocalAddress, dvmrpInterfaceRemoteAddress, dvmrpInterfaceRemoteSubnetMask, dvmrpInterfaceMetric, dvmrpInterfaceRateLimit, Expires November 1998 [Page 21] Draft DVMRP MIB May 1998 dvmrpInterfaceInPkts, dvmrpInterfaceOutPkts, dvmrpInterfaceInOctets, dvmrpInterfaceOutOctets, dvmrpInterfaceStatus, dvmrpNeighborUpTime, dvmrpNeighborExpiryTime, dvmrpNeighborGenerationId, dvmrpNeighborMajorVersion, dvmrpNeighborMinorVersion, dvmrpNeighborCapabilities, dvmrpRouteUpstreamNeighbor, dvmrpRouteIfIndex, dvmrpRouteMetric, dvmrpRouteExpiryTime, 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, dvmrpInterfaceSentRoutes } 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, dvmrpNeighborState Expires November 1998 [Page 22] Draft DVMRP MIB May 1998 } 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 DESCRIPTION "A collection of objects used to store the DVMRP routing table." ::= { dvmrpMIBGroups 5 } dvmrpSecurityGroup OBJECT-GROUP OBJECTS { dvmrpInterfaceMasterKey, dvmrpInterfaceMasterKeyVersion } STATUS current DESCRIPTION "A collection of objects used to store information related to DVMRP security." ::= { dvmrpMIBGroups 6 } END 6. Security Considerations If the agent allows configuring keys via SNMP, for use by DVMRP, then the security of DVMRP is at best only as secure as SNMP. For this reason, security-related objects MUST NOT be accessible via unencrypted messages. It is also recommended that keys not be made visible through SNMP GET (or GET-NEXT or GET-BULK) messages, even if encryption is used. 7. Acknowledgements David LeRoy, Tom Pusateri, and Bill Fenner provided valuable feedback on this document. The members of the IDMR WG and the MBone community provided the motivation for this work. Expires November 1998 [Page 23] Draft DVMRP MIB May 1998 8. 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. [10] Thaler, D., "IP Tunnel MIB", Work in progress, April 1997. 9. Author's Address Dave Thaler Microsoft One Microsoft Way Redmond, WA 98052-6399 Phone: (425) 703-8835 EMail: dthaler@microsoft.com Expires November 1998 [Page 24] Draft DVMRP MIB May 1998 Table of Contents 1 Introduction .................................................... 1 2 The SNMPv2 Network Management Framework ......................... 1 2.1 Object Definitions ............................................ 2 3 Overview ........................................................ 2 3.1 Structure of MIB .............................................. 2 3.1.1 General Description ......................................... 3 3.2 Relationship to the IP Tunnel MIB ............................. 3 4 Revision History ................................................ 3 5 Definitions ..................................................... 5 6 Security Considerations ......................................... 23 7 Acknowledgements ................................................ 23 8 References ...................................................... 24 9 Author's Address ................................................ 24 Expires November 1998 [Page 25]