Annotation of embedaddon/mrouted/README, revision 1.1
1.1 ! misho 1: README for mrouted, the DVMRP Multicast Routing Daemon
! 2: ======================================================
! 3: mrouted is an implementation of the DVMRP multicast routing protocol. It turns
! 4: a UNIX workstation into a DVMRP multicast router with tunnel support, in order
! 5: to cross non-multicast-aware routers.
! 6:
! 7: DVMRP is a distance vector based protocol, derived from RIP, suitable for
! 8: closely located multicast users in smaller networks. It simply floods all
! 9: multicast streams to all routers, i.e. implicit join. This is also known as
! 10: "flood and prune" since you can opt out from groups you do not want. For a
! 11: detailed explanation of the protocol, consult RFC 1075.
! 12:
! 13: History
! 14: -------
! 15: The mrouted routing daemon was developed by Steve Deering, Ajit Thyagarajan,
! 16: Bill Fenner, David Thaler and Daniel Zappala. With contributions by many
! 17: others.
! 18:
! 19: The last release by Mr. Fenner was 3.9-beta3 on April 26 1999 and mrouted has
! 20: been in "beta" status since then. Several prominent UNIX operating systems,
! 21: such as AIX, Solaris, HP-UX, BSD/OS, NetBSD, FreeBSD, OpenBSD as well as most
! 22: GNU/Linux based distributions have used that beta as a de facto stable release,
! 23: with (mostly) minor patches for system adaptations. Over time however many
! 24: dropped support, but Debian and OpenBSD kept it under their wings.
! 25:
! 26: In March 2003 OpenBSD, led by the fearless Theo de Raadt, managed to convince
! 27: Stanford to release mrouted under a fully free license, the BSD license[1].
! 28: Nevertheless, in February 2005 Debian finally dropped[2] mrouted as an
! 29: "obsolete protocol".
! 30:
! 31: For a long time the OpenBSD team remained the sole guardian of this project.
! 32:
! 33: In 2010 this effort of bringing mrouted back to life was started. The 3.9.x
! 34: stable series represent the first releases in over a decade. Patches from all
! 35: over the Internet, including OpenBSD, have been integrated.
! 36:
! 37: Bugs
! 38: ----
! 39: The basic functionality has been tested thoroughly over the years, but that
! 40: does not mean mrouted is bug free. Please report any oddities, feature
! 41: requests, patches or pull requests in the github issue tracker at:
! 42:
! 43: http://github.com/troglobit/mrouted/issues
! 44:
! 45: Mrouted contain "hacks" to recognize Cisco IOS's pseudo-DVMRP implementation to
! 46: yield all "DVMRP" versions of 10 and higher to IOS. Previous pre-release
! 47: versions of mrouted 3.9.0 made the assumption that the IOS bug that causes it
! 48: to use the IOS version number instead of the DVMRP version number would be
! 49: fixed by the time 12.0 was out.
! 50:
! 51: Configuring
! 52: -----------
! 53:
! 54: By default mrouted reads its configuration file from /etc/mrouted.conf. You can
! 55: override the default by specifying an alternate file when invoking mrouted.
! 56:
! 57: mrouted -f /path/file.conf
! 58:
! 59: The mrouted daemon can reconfigure itself at runtime if you change the configuration
! 60: file, simply send the process a SIGHUP to activate new changes to the file. The PID
! 61: is saved automatically to the file /var/run/mrouted.pid at start.
! 62:
! 63: By default, mrouted configures itself to act as a multicast router on all multicast
! 64: capable interfaces, excluding the loopback interface that has the IFF_MULTICAST flag
! 65: set. Therefore, you do not need to explicitly configure mrouted, unless you need to
! 66: setup tunnel links, change the default operating parameters, or disable multicast
! 67: routing over a specific physical interface.
! 68:
! 69: See the man page for further details.
! 70:
! 71: Running
! 72: -------
! 73: The mrouted daemon must run as root.
! 74:
! 75: For the native mrouted tunnel to work in Linux based systes you need to have
! 76: the "ipip" kernel module loaded or as built-in.
! 77:
! 78: modprobe ipip
! 79:
! 80: Several signals are supported, for querying status, or simply for reloading the
! 81: configuration. See the man page for details.
! 82:
! 83: MROUTED 3.8
! 84: ===========
! 85: Mrouted 3.8 has two optional features: SNMP and RSRR. RSRR support is
! 86: required for running RSVP; the SNMP code, with the help of the ISODE snmpd,
! 87: implements both the Multicast MIB and the DVMRP MIB.
! 88:
! 89: RSRR
! 90: ----
! 91: Routing Support for Resource Reservations (RSRR) was contributed by
! 92: Daniel Zappala <daniel@isi.edu>.
! 93:
! 94: Note: This has not been tested in many years ...
! 95:
! 96: To enable RSRR support, uncomment the three lines starting with RSRR near
! 97: the top of the Makefile and "make clean; make". Or use the prebuilt binary,
! 98: mrouted.rsrr .
! 99:
! 100: RSRR allows RSVP to query mrouted for its routing entry for a particular
! 101: source-group pair. Using the routing entry and the IP_MULTICAST_VIF socket
! 102: call, RSVP can forward distinct control messages out each outgoing
! 103: interface. This version of mrouted supports RSRR messages using a Unix
! 104: datagram socket.
! 105:
! 106: RSRR currently includes two pairs of query-reply messages. RSVP sends an
! 107: Initial Query when it starts. Mrouted responds with an Initial Reply that
! 108: includes the set of vifs it is using, flagging those that are
! 109: administratively disabled. When RSVP needs the routing entry for a
! 110: source-group pair, it sends a Route Query. Mrouted responds with a Route
! 111: Reply that includes the incoming vif and outgoing vifs for the source-group
! 112: pair.
! 113:
! 114: RSVP may request route change notification by setting the notification bit
! 115: in the Route Query. If mrouted can provide route change notification for
! 116: the source-group pair, it sets the notification bit in its Route Reply.
! 117: When the routing entry for the source-group pair changes, mrouted sends an
! 118: unsolicited Route Reply containing the new routing information. The initial
! 119: release of mrouted 3.5 did not support route change notification and always
! 120: returned a Route Reply with the notification bit cleared. This release of
! 121: mrouted provides route change notification when possible.
! 122:
! 123: SNMP
! 124: ----
! 125: SNMP support was contributed by David Thaler <thalerd@eecs.umich.edu>.
! 126: Note: This has not been tested in many years ...
! 127:
! 128: To enable SNMP support, uncomment the six lines near the top of the Makefile
! 129: below the description of SNMP support.
! 130:
! 131: To link the SNMP-capable mrouted, you need the CMU libraries. See
! 132: http://nic.merit.edu/~mbone/ for a full mrouted-snmp distribution.
! 133:
! 134: Make sure to add the "sysName", "sysContact", "sysVersion" and "sysLocation"
! 135: variables to your /etc/mrouted.conf if you want them to provide anything
! 136: other than default values.
! 137:
! 138: Example:
! 139:
! 140: sysName "tibia"
! 141: sysContact "Bill Fenner <fenner@parc.xerox.com> +1 415 812-4816"
! 142: sysVersion "SunOS 4.1.3 and mrouted 3.8"
! 143: sysLocation "MAXC room, PARC building 35"
! 144:
! 145: The SNMP version of mrouted has an additional command line flag:
! 146:
! 147: -P snmp_port
! 148:
! 149: Specifies a port for SNMP communication (default 161). This option
! 150: should be used when another SNMP daemon already exists. The preferred
! 151: alternate port in this case is port 9161.
! 152:
! 153: The mstat(8) program allows querying of statistics using SNMP.
! 154:
! 155: Footnotes
! 156: ---------
! 157: [1] - http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/mrouted/LICENSE
! 158: [2] - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=288112
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>