mrouted configuration file
In many cases you do not need to configure mrouted
It configures itself automatically to forward multicast on all
multicast-capable interfaces, i.e., interfaces that have the
flag set, excluding the loopback
interface. It locates other DVMRP capable routers directly reachable via those
- will not start with less than two enabled virtual
interfaces (VIFs). A VIF is either a physical multicast-capable interface
or a tunnel.
- will log a warning if all of its VIFs are tunnels; such a
configuration is likely better replaced by more direct (GRE) tunnels (i.e.
eliminate the middle man).
To override the default settings, for example to to add tunnel links to other
DVMRP routers, configuration commands may be placed in
. The file format is free-form:
whitespace (including newlines) is not significant. The “#”
character marks start of a comment to end of line.
- This setting defines the time in seconds that a cached
multicast route stays in kernel before timing out. The value of this entry
should lie between 300 (5 min) and 86400 (1 day). It defaults to 300.
- The name option assigns names
to boundaries to make configuration easier.
- Some multicast routers, and some IGMP snooping switches, do
not support IP options like Router Alert, which is enabled in
mrouted by default. This command to disable
this IP option. Regardless of this setting,
mrouted always calculates the IP payload
offset based on the IP header length value of ingressing DVMRP and IGMP
- This setting controls the IGMP query interval in seconds,
used when this router is elected querier on a LAN. It is not recommended
to go below 10 sec. Default: 125.
- This setting controls many aspects of IGMP timers, for end
devices and routers alike. The
query-response-interval used below is
hard-coded to 10 sec in mrouted:
- Group Membership Timeout
- Number of seconds before
mrouted determines that there are no more
members of a group on a LAN. Formula: (igmp-robustness x
igmp-query-interval) + (1 x query-response-interval)
- Other Querier Timeout
- Number of seconds before
mrouted determines there is no longer an
elected querier on the LAN. Formula: (igmp-robustness x
igmp-query-interval) + (0.5 x query-response-interval)
- Last-member Query Count
- Number of group-specific queries sent before
mrouted assumes there are no local
members of a group. The number of queries is equal to the value of the
robustness variable. However, mrouted
currently hard-codes this to 2
- By default all interfaces are enabled. This command
disables all interfaces, useful on routers with lots of interfaces where
mrouted should run on only only a select few.
Note: Most UNIX kernels, including Linux, have
a hard coded limit of 32 VIFs. In non-trivial setups this limit is often
reached, causing weird errors that can be hard to debug. The
recommendation for those cases is to disable all phyint (this setting),
and then selectively enable only the ones needed.
phyint eth10 enable
phyint eth12 enable
This setting selects and alters properties of the phyiscal interfaces
mrouted operates on. Interfaces can be
identified using their local IP address or their name.
NOTE: All phyint
commands must precede tunnel commands.
- Selectively disable or enable this interface. Only
enabled interfaces get a VIF in the kernel.
- mrouted supports all IGMP
versions. Use these flags to force compatibility modes on the given
interface. Default: igmpv3
- If an interface is attached to multiple IP subnets,
describe each additional subnet with this keyword.
- allows an interface to be configured as an
administrative boundary for the specified scoped address. Packets
belonging to this address will not be forwarded on a scoped interface.
The boundary option accepts either a name or a boundary spec.
- is the "cost" associated with sending a
datagram on the given interface or tunnel; it may be used to influence
the choice of routes. The metric defaults to 1. Metrics should be kept
as small as possible, because mrouted
cannot route along paths with a sum of metrics greater than 31.
- allows the network administrator to specify a certain
bandwidth in kbps which would be allocated to multicast traffic. It
defaults to 500 kbps on tunnels, and 0 (unlimited) on physical
- is the minimum IP time-to-live required for a multicast
datagram to be forwarded to the given interface or tunnel. It is used
to control the scope of multicast datagrams. (The TTL of forwarded
packets is only compared to the threshold, it is not decremented by
the threshold. Every multicast router decrements the TTL by 1.) The
default threshold for multicast is 1.
This setting can be used to establish a tunnel link between local IP address
local-addr and remote IP address
remote-addr, and to associate a
non-default metric or threshold with that tunnel. The local IP address
local-addr may be replaced by the
interface name (e.g. le0). The remote IP address
remote-addr may be replaced by a host
name, if and only if the host name has a single IP address associated with
it. The tunnel must be set up in the
mrouted.conf files of both routers before it
can be used.
See the phyint command for details on the
relevant tunnel options.
option to all commands can accept
either a name or a network boundary; the boundary
options may be specified as many times
In general, all DVMRP routers connected to a particular subnet or tunnel should
use the same metric and threshold for that subnet or tunnel.
This is an example configuration for a mythical multicast router at a big
# mrouted.conf example
# Name our boundaries to make it easier.
name LOCAL 18.104.22.168/16
name EE 22.214.171.124/16
# le1 is our gateway to compsci, don't forward our
# local groups to them.
phyint le1 boundary EE
# le2 is our interface on the classroom net, it has four
# different length subnets on it.
# Note that you can use either an IP address or an interface name
phyint 172.16.12.38 boundary EE
# atm0 is our ATM interface, which doesn't properly
# support multicasting.
phyint atm0 disable
# This is an internal tunnel to another EE subnet.
# Remove the default tunnel rate limit, since this
# tunnel is over Ethernets.
tunnel 192.168.5.4 192.168.55.101
metric 1 threshold 1 rate-limit 0
# This is our tunnel to the outside world.
# Careful with those boundaries, Eugene.
tunnel 192.168.5.4 10.11.12.13
metric 1 threshold 32
boundary LOCAL boundary EE
- Main configuration file.
This manual page was written by Joachim