Repository : ssh://git@diktynna/doc
On branches: backup-redmine,main
>---------------------------------------------------------------
commit 50e009980ea672465e0bdd1709336214a679bcf1
Author: Linus Lüssing <linus.luessing(a)c0d3.blue>
Date: Fri Apr 19 21:03:23 2024 +0000
doc: batman-adv/Multicast-IGMP-MLD-Report-Forwarding
>---------------------------------------------------------------
50e009980ea672465e0bdd1709336214a679bcf1
batman-adv/Multicast-IGMP-MLD-Report-Forwarding.textile | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/batman-adv/Multicast-IGMP-MLD-Report-Forwarding.textile b/batman-adv/Multicast-IGMP-MLD-Report-Forwarding.textile
index 764355aa..92863caf 100644
--- a/batman-adv/Multicast-IGMP-MLD-Report-Forwarding.textile
+++ b/batman-adv/Multicast-IGMP-MLD-Report-Forwarding.textile
@@ -86,7 +86,7 @@ Answer: **no!**
!mld-to-mcast-routers-only-scenario-C.png!
-Learning:
+**Learning:**
1) Bridged-in host A listens to a link-local multicast address <MC-LL-A>
2) Node Y floods an MLD Query through the mesh
@@ -96,6 +96,14 @@ Learning:
3.3) With the batman-adv multicast_rtr_only option enabled batman-adv on node X will refrain to forward the MLD Report further into the mesh
3.4) batman-adv on node Y learns about <MC-LL-A> through the TT
+**Multicast packet forwarding:**
+
+4) Bridged-in host B sends a multicast packet to the multicast address <MC-LL-A>
+4.1) br0 on node X has not heard of <MC-LL-A>, but will forward the multicast packet towards the MLD Querier - and not towards bat0 - as required by RFC4541
+4.2) batman-adv on node X had previously learned through the TT that <MC-LL-B> has a listener on node Y and batman-adv will therefore forward the multicast packet to node Y
+4.3) br0 on node Y has previously learned about <MC-LL-B> through the MLD Report, so it forwards the multicast packet on eth0 to host B
+4.4) Host B successfully receives the multicast packet from host A!
+
Potential Workarounds:
A) Set bridge port _multicast_router_ setting for bat0 to 2 (e.g.: _$ echo 2 > /sys/class/net/bat0/brport/multicast_router_) => always forwards multicast packets to bat0