troglobit/man
MCD.CONF(5) File Formats Manual MCD.CONF(5)

mcd.conf —
mcd configuration file

mcd(8) reads mcd.conf at start and on SIGHUP. Without it, or without any iface line, mcd is passive on all interfaces.
Each line holds global settings or one iface directive with its flags. Comments start with “#” and run to the end of line.

These apply to both IGMP and MLD, and to all interfaces.
SEC
Seconds between General Queries when elected querier, 1 to 1024, default 125. Values below 10 are not recommended.
SEC
Maximum response time hosts get for a General Query, 1 to 1024, default 10. A longer time spreads the reports out.
SEC
Seconds between the group specific queries sent after a leave, 1 to 1024, default 1. The number of such queries is the robustness.
NUM
Tolerance to lost packets, 2 to 10, default 2. Also the number of queries in the startup burst.
SEC
Time to wait for a silent querier before taking over, the other querier present interval, 1 to 1024. When unset it is calculated per interface, RFC 3376 §8.5, from the interface's own query-interval when set:
robustness * query-interval + response-interval / 2
    
When set, it applies to every interface. Set it only to interoperate with devices that do not follow the RFC.
| , no router-alert
IP Router Alert option in IGMP queries, on by default for stacks that hard-code the IP header length. MLD queries always carry the IPv6 Router Alert option.
| , no topology-query
General query when a port of the bridge starts forwarding, on by default. Link up, STP settling and a port added to the bridge all count. Hosts behind the port are back in the MDB within the response interval instead of at the next periodic query, RFC 4541 §2.1.1. Sent only while mcd is the querier, at most one per second per interface, followed by the startup burst. Applies to the bridge itself and to VLAN interfaces on top of it.
SEC
Multicast Router Discovery advertisement interval, 4 to 180, default 20. For interfaces with mrd on, see below.
PATH
Read another file, or every file matching a glob(3) pattern, e.g. /etc/mc.d/*.conf.

IFNAME [
FLAG ...
]
Configure the queriers of an interface, the bridge itself or a VLAN interface on top of it. The interface does not need to exist yet, mcd picks it up when it appears. The keyword phyint is an alias.
The flags are:
|
Run the queriers on the interface, or not. Default disable.
| , mld on |
Run the IGMP or the MLD querier, both on by default.
| |
IGMP version to start with, default igmpv3. mcd falls back to older versions on its own when such hosts are heard.
|
MLD version to start with, default mldv2, with the same fallback.
|
Multicast Router Discovery, RFC 4286, off by default. Advertises mcd as a multicast router to the snooping switches on the LAN, so they forward membership reports, and all multicast, towards it. For switches that learn their router ports from MRD rather than from queries. Three advertisements go out shortly after the interface comes up, then one every mrd-interval seconds, and one in answer to a solicitation. A termination is sent when the interface goes down or mcd exits. Advertisements go out whether or not mcd is the elected querier, so membership reports keep reaching it as a backup querier, RFC 4286 §3. An interface in proxy mode has no address to advertise and sends nothing. Advertisements from other routers are listed by mctl(8) show routers.
Send proxy queries, from 0.0.0.0 or ::, which never win an election. This makes mcd a backup querier on LANs that have a multicast router. An interface without an address is always in proxy mode. The old name proxy-queries is accepted too.
SEC
Per interface override of global-query-interval.
GROUP
Join an IPv4 or IPv6 group on the interface, can be given more than once. The kernel then answers queries for the group like any host, so a bridge keeps a permanent host membership for it in the MDB and always forwards it to itself. The membership stays until the group is removed from the configuration or mcd exits, a link flap or a reload does not touch it. Not supported in raw VLAN mode.
VID
Raw VLAN mode on a VLAN filtering bridge, 1 to 4094. The querier runs on that VLAN of the bridge without a VLAN interface on top, by injecting tagged frames. It is always in proxy mode. Give vlan more than once to run a querier on several VLANs.

/etc/mcd.conf
Default location, follows the identity set with -i, see mcd(8).

Queriers on two VLAN interfaces, the second starting out in IGMPv2 and MLDv1:
iface vlan1 enable 
iface vlan2 enable igmpv2 mldv1
IGMP only, with a shorter query interval:
iface br0 enable mld off query-interval 30
A backup querier, and a querier on VLAN 42 of a filtering bridge:
iface vlan3 enable proxy-mode 
iface br0 vlan 42 enable
Static groups, and per interface snippets in a directory:
iface vlan1 enable static-group 239.1.1.1 static-group ff05::1 
include /etc/mc.d/*.conf

mcd(8), mctl(8)

mcd.conf is maintained by Joachim Wiberg, Tobias Waldekranz and the KernelKit team, https://kernelkit.org. See mcd(8) for its history.
October 21, 2026 Debian

Maintained in kernelkit/mcd as man/mcd.conf.5. Send corrections there, or read it on the mirror.