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>