Annotation of embedaddon/mrouted/README, revision 1.1.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>