The original multicast routing daemon

mrouted is an implementation of the IPv4 multicast routing protocol DVMRP, RFC 1075. It is capable of turning a UNIX workstation, or Linux device, into a multicast router with tunnelling1 support.

The Distantance Vector Multicast Routing Protocol (DVMRP), derived from RIP, is suitable for smaller/dense networks. It employs the “flood and prune” method, where multicast is flooded until neighboring routers opt out from unwanted multicast groups. For a more thorough explanation of the protocol, see RFC 1075. In larger networks, with sparsely located nodes, you might want to look into pimd. For many use-cases static multicast routing, smcroute may be sufficient.

mrouted was developed by David Waitzman, Craig Partridge, Steve Deering, Ajit Thyagarajan, Bill Fenner, David Thaler and Daniel Zappala. With contributions by many others.

The last release by Mr. Fenner was 3.9-beta3 on April 26 1999. Several prominent UNIX operating systems, such as AIX, Solaris, HP-UX, BSD/OS, NetBSD, FreeBSD, OpenBSD as well as most GNU/Linux based distributions have used that release, with (mostly) minor patches for system adaptations. However, over time many dropped support, but Debian and OpenBSD kept it under their wings.

In March 2003 the OpenBSD project, led by the fearless Theo de Raadt, managed to convince Stanford to finally release mrouted under a fully free license, the 3-clause BSD license. In February 2005 Debian nevertheless dropped mrouted as an “obsolete protocol”.

For a long time the OpenBSD team remained the sole guardian of this project.

In 2010 this effort of bringing mrouted back to life was started. The 3.9.x stable series represent the first releases in over a decade. Patches from all over the Internet, including OpenBSD, have been integrated. Support for Debian/Ubuntu is included in the tree.

Issue tracker and GIT repository available at GitHub:

Manual pages availale here:

See also the OpenHub page, or the (sadly) dormant Free(code) page.

Problems? See the multicast howto

  1. Tunneling may be required to cross non-multicast-aware routers. [return]