MROUTED.CONF(5) File Formats Manual MROUTED.CONF(5)


mrouted.confmrouted 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 IFF_MULTICAST flag set, excluding the loopback interface. It locates other DVMRP capable routers directly reachable via those interfaces.
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 /etc/mrouted.conf. The file format is free-form: whitespace (including newlines) is not significant. The “#” character marks start of a comment to end of line.
cache-lifetime <60-86400>
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.
name boundary-name | scoped-addr/mask-len
The name option assigns names to boundaries to make configuration easier.
no router-alert
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 frames.
igmp-query-interval <1-1024>
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.
igmp-robustness <2-10>
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
no phyint
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.
no phyint 
phyint eth10 enable 
phyint eth12 enable
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 <local-addr | ifname> [disable | enable] [igmpv1 | igmpv2 | igmpv3] [altnet network/mask-len] [boundary boundary-name | scoped-addr/mask-len] [metric <1-31>] [rate-limit kbps] [threshold ttl]
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.
disable | enable
Selectively disable or enable this interface. Only enabled interfaces get a VIF in the kernel.
igmpv1 | igmpv2
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 interfaces.
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.
tunnel local-addr remote-addr [boundary boundary-name | scoped-addr/mask-len] [metric <1-31>] [rate-limit kbps] [threshold ttl]
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.
The boundary option to all commands can accept either a name or a network boundary; the boundary and altnet options may be specified as many times as necessary.
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 school.
# mrouted.conf example 
# Name our boundaries to make it easier. 
name LOCAL 
name EE 
# 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 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. 
       metric 1 threshold 1 rate-limit 0 
# This is our tunnel to the outside world. 
# Careful with those boundaries, Eugene. 
       metric 1 threshold 32 
       boundary LOCAL boundary EE


Main configuration file.


mrouted(8), mroutectl(8)


This manual page was written by Joachim Nilsson ⟨⟩.
June 9, 2020 Debian