É um pouco difícil para mim entender exatamente sua configuração com as informações disponíveis. Mas eu vou te dar minha configuração para que você possa olhar e comparar. O essencial para multicast em bridges é o snooping multicast, portanto, a bridge sabe qual porta se uniu a um grupo multicast e pode encaminhar fluxos multicast somente para essa porta. A configuração padrão de multicast_snooping está ativada. Então eu não desabilito isso.
Se eu olhar as configurações das interfaces na minha ponte, isso me mostrará:
host ~$ sudo bridge -d link show
3: enp1s0 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 4
hairpin off guard off root_block off fastleave on learning on flood on mcast_flood on
5: vnet0 state UNKNOWN : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
hairpin off guard off root_block off fastleave on learning on flood off mcast_flood on
Importante é mcast_flood on
, que é a configuração padrão. fastleave on
é bom ter, mas não é necessário para multicast. É apenas para deixar um grupo de multicast sem um tempo limite na ponte se um convidado sair do grupo. flood on/off
pertence a unicast e não é relevante aqui.
Se um convidado ingressar em um grupo de multidifusão (iniciando um programa cliente de multicast), a bridge a bisbilhotará e a adicionará ao seu banco de dados multicast (mdb). Eu verifico com:
host ~$ sudo bridge -d -s mdb show
dev br0 port vnet0 grp 239.255.255.250 temp vid 10 257.14
router ports on br0: enp1s0 238.17 temp
Eu tenho apenas um cliente upnp em execução (grp 239.255.255.250) e uso VLAN 10. O convidado ainda permanecerá no grupo multicast por 257,14 segundos se ele não enviar um RELAT do igmp para ficar mais tempo. A ponte vê que o próximo roteador de multidifusão (a origem) está na porta enp1s0 e a expulsa depois de 238,17 segundos, se a fonte não enviar um igbur QUERY antes.
Em um fluxo multicast em execução, vejo essas mensagens igmp:
host ~$ sudo tcpdump -i vnet0 -n igmp
18:38:59.628249 IP 192.168.10.2 > 224.0.0.1: igmp query v3
18:39:02.502110 IP 192.168.10.106 > 224.0.0.22: igmp v3 report, 2 group record(s)
18:41:04.647731 IP 192.168.10.2 > 224.0.0.1: igmp query v3
18:41:13.061858 IP 192.168.10.106 > 224.0.0.22: igmp v3 report, 2 group record(s)
18:43:09.637111 IP 192.168.10.2 > 224.0.0.1: igmp query v3
18:43:19.525836 IP 192.168.10.106 > 224.0.0.22: igmp v3 report, 2 group record(s)
...
192.168.10.2 é o meu roteador de internet (fonte multicast) e 192.168.10.106 é o convidado do cliente de streaming.