Skip to content

mcd v3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Oct 07:02
v3.0
4034759

MLD querier support. mcd now runs one querier per address family on
every enabled interface, so the Linux bridge gets a real querier for
IPv6 too.

Note: MLD is on by default on every enabled interface, use
mld off to keep an interface IGMP only. mctl show interfaces
has a new Proto column and its JSON output lists both families.

Changes

  • Add MLD querier, RFC 2710 and RFC 3810. Queries are sent from the
    link-local address of the interface, with its own election, MLDv2
    to MLDv1 fallback, and the same startup query burst as IGMP
  • New iface keywords mldv1, mldv2, igmp on|off and mld on|off
  • Add static-group per interface, IPv4 and IPv6. The group is
    joined in the kernel, which answers queries for it like any host, so
    a bridge keeps a permanent host membership for it in the MDB. The
    memberships survive SIGHUP
  • mctl show interfaces lists both queriers per interface with a new
    Proto column. JSON output gains a family key per querier and a
    top-level mld-queriers list in show igmp json
  • Link up and down now reach every entry of an interface, raw VLAN
    entries used to miss them
  • Drop unused --with-systemd configure option, no unit file was ever
    installed
  • Add man pages mcd(8), mcd.conf(5) and mctl(8), also available at
    https://man.troglobit.com
  • Rewritten README with figures and worked examples

Fixes

  • Fix use-after-free when an interface goes down with active group
    timers or a remote querier being tracked
  • Fix potential list corruption when the same interface is configured
    with more than one vlan
  • Fix mctl writing terminal probe escape sequences to stderr when
    stdout is not a terminal, e.g. when piped to grep