1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
MRD - Multicast Routing Daemon
------------------------------
MRD is a IPv6 Multicast routing Daemon for Linux.
MRD is written in C++ and has been primarily developed in Linux 2.6.
Send any bugs or issues to Hugo Santos <hsantos@av.it.pt>
Features
--------
- Extensible modular design;
- MLDv1 and MLDv2 support with forwarding capabilities (mld);
* MLD Proxying (mld);
- PIM-SM support (ASM and SSM) (pim);
* Bootstrap (BSR) Mechanism support (pim);
* Static RP configuration (pim);
* Embedded-RP support (RFC 3956);
- partial MBGP support (bgp);
* Implements basic BGP4 mechanisms (IPv6 Multicast SAFI)
to update local MRIB from MBGP info;
- Supports both native and virtual (tunnel) interfaces
(tested IPv6-IPv4, IPv6-IPv6 and TUN/TAP tunnels);
- Abstract Forwarding Interface (MFA) with user-space module;
- Remote configuration and online administration (console);
Building
--------
Note: The GNU C++ compiler (g++) is required to compile mrd.
In the 'src' directory:
* Using Make
type `make` to build the `mrd` executable.
Running
-------
Usage `mrd [options]`
* Options
-D Run MRD in the background
-v Output info messages for both syslog and the active terminal
-d Output debug messages as well
-f <conf> Use `conf` as the configuration file. The default configuration
file is '/etc/mrd.conf' or if it doesn't exist, the 'mrd.conf'
file in the running directory.
Configuration File
------------------
The configuration file follows a hierarchical definition using `identifier { ... }` blocks.
The `interfaces` and `groups` keywords specify both interface and group configuration.
* Example
pim {
bsr_candidate = true; /* we are a BSR candidate */
rp_candidate = true; /* we are a RP candidate */
}
groups {
ff0e::/16 {
pim {
rp_adv = true; /* include this group in the RP advertisement */
}
}
}
Read src/confs/mrd.conf for a sample configuration.
Console
-------
If enabled the console module (see src/confs/mrd.conf) you'll be able to
control/monitor mrd remotely by using the included 'mrd6sh' program. You
may also connect remotely directly to mrd using a standard telnet program
and connecting to port 44510.
telnet -6 ::1 44510
SNMP
----
mrd has SNMP support and partial standard MIB support.
Supported MIBs: src/snmp/MRD-MIB.txt, src/mld/snmp/IPV6-MLD-MIB.txt.
Author and Contacts
-------------------
Hugo Santos <hsantos@av.it.pt>
Please send any requests to hng-request@av.it.pt
Copyright and Licensing
-----------------------
This MRD release is GPL Licensed (Refer to the included COPYING file for details).
Copyright (c) 2004 - Univ. Aveiro, Instituto Telecomunicacoes - Polo Aveiro
Thanks to
---------
- Sebastien Chaumontet and Mickael Hoert for extensive testing and support;
- Bernhard Schmidt for testing and supplying IPv6 multicast connectivity;
- Anand Kumria to upload and maintain the oficial debian package;
|