IGMPv3 on linux bridge

shangjx

New Member
Jan 1, 2025
4
1
3
Windows since vista uses igmpv3 by default.

Igmp snooping enabled on linux bridge which is by default igmpv2 somehow blocks windows clients access to multicast server on proxmox, at least when a ethernet switch with igmp snooping enabled is in between.

One solution would be to change windows computer to use igmpv2. This can be done setting the registry key `DWORD HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IGMPLevel` to 2.

Another would be to set igmpv3 on the linux bridge: `echo 3 > "/sys/class/net/$IFACE/bridge/multicast_igmp_version"`.

Creating a script at `/etc/network/if-up.d/` can do this automatically:
/etc/network/if-up.d/igmpv3_bridge:

code_language.shell:
#!/bin/sh


if [ ! -x /sbin/bridge ]

then

  exit 0

fi


if [ "$MODE" = "start" ] ; then

  case "$IFACE" in

    *.[0-9]*)

      # do nothing if vlan

      ;;

    *)

      echo 3 > "/sys/class/net/$IFACE/bridge/multicast_igmp_version"

    ;;

  esac

fi


But I haven't tested this on cluster setups, so is there any possible caveats that I may be missing?
 
Last edited:
Ended up being problematic after restart. These should be done in post-up in /etc/network/interface. Also the seemingly ok result is from group lifetime. It maybe is just because querier in container not propagated in vlan aware bridge. Need more testing to confirm.
 
Last edited: