# Distance Vector Multicast Routing Protocol (DVMRP)

DVMRP is the original IP Multicast routing protocol. It was designed to run over both multicast capable lans (like Ethernet) as well as through non-multicast capable routers. In this case, the IP Multicast packets are "tunneled" through the routers as unicast packets. This replicates the packets and has an effect on performance but has provided an intermediate solution for IP Multicast routing on the Internet while router vendors decide to support native IP Multicast routing.

An earlier version of DVMRP was documented as RFC 1075 but it is not representative of the protocol in use today. The GATED version of DVMRP is compatible with the XEROX PARC releases 2.x and 3.x. It will perform pruning and grafting if the upstream neighbor supports it. It understands the capability flags introduced in XEROX PARC Release 3.5. It does not yet support the IP Multicast Traceroute or the DVMRP MIB. Stay tuned for these features.

This is a preliminary release of DVMRP. There is not currently a method to inject source networks into the DVMRP unicast routing protocol from other regions running different IP Multicast routing protocols such as PIM. This feature will be released as soon as a safe method for doing so has been tested.

## The DVMRP Statement

    dvmrp yes | no | on | off [ {
        interface interface_list
    	[enable | disable]
    	[metric metric]
    	[threshold threshold]
    	[ratelimit rate] ;
        tunnel host lcladdr local_address
    	[enable | disable]
    	[metric metric]
    	[threshold threshold]
    	[ratelimit rate] ;
        traceoptions trace_options ;
    } ] ;

The `dvmrp` statement enables or disables the DVMRP protocol. If the `dvmrp` statement is not specified the default is `dvmrp off;` If enabled, DVMRP will default to enabling all interfaces that are multicast capable. These interfaces are identified by the IFF_MULTICAST interface flag.

Note: only one multicast routing protocol can be configured on a port at a time.

The options are as follows:

interface interface_list
  Enables or disables DVMRP on this interface or list of interfaces.

  Currently, the gated implementation of DVMRP cannot detect when there are multiple addresses configured on the same physical interface. It will send DVMRP messages to each logical network. This should be fixed in a future release.

  The possible parameters are:

  disable
    Specifies that DVMRP packets received via the specified interface will be ignored. The default is to listen to DVMRP on all multicast capable interfaces.
  enable
    This is the default. This argument may be necessary when `disable` is used on a wildcard interface descriptor.
  metric
    This command provides a way to configure the metric on a physical port or tunnel. This metric will be added to all routes that are learned via this interface.
  threshold
    This command provides a way to configure the threshold on a physical port or tunnel. A packet will not be forwarded out this interface unless the TTL in the packet exceeds this threshold.
  ratelimit
    This command provides a way to limit the rate of multicast traffic on an interface. It is an option in the XEROX PARC IP Multicast kernel (Release 3.3 or greater).

tunnel host lcladdr local_address
  The tunnel statement uses the same options as the interface statement.

traceoptions trace_options
  Specifies the tracing options for DVMRP. (See Trace Statements and the DVMRP specific tracing options below.)

## Tracing options

Packet tracing options (which may be modified with `detail`, `send` or `recv`):

packets
  All DVMRP packets.
probe
  DVMRP Router Probe packets
report
  DVMRP Route Report packets
mapper
  DVMRP Neighbor and Neighbor 2 packets
prune
  DVMRP Prune packets
graft
  DVMRP Graft and Graft Ack packets

## Sample DVMRP configurations

See the sample multicast router configurations.

Last updated $Date: 1997/07/17 22:39:51 $.