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 RFC 3376:
robustness * query-interval + response-interval / 2
    
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.
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.
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 16, 2026 Debian

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