Repository : ssh://git@open-mesh.org/doc
On branches: backup-redmine/2019-09-17,master
commit 8a693fb5bd81a88baeed7064e8637d37348b44c2 Author: Sven Eckelmann sven@narfation.org Date: Tue Sep 17 10:25:24 2019 +0000
doc: batman-adv/Multicast-optimizations-bridges
8a693fb5bd81a88baeed7064e8637d37348b44c2 batman-adv/Multicast-optimizations-bridges.textile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/batman-adv/Multicast-optimizations-bridges.textile b/batman-adv/Multicast-optimizations-bridges.textile index a7ad5c4..975e37a 100644 --- a/batman-adv/Multicast-optimizations-bridges.textile +++ b/batman-adv/Multicast-optimizations-bridges.textile @@ -2,7 +2,7 @@ h1. Multicast Optimizations - Bridges
Prior Readings:
- * [[multicast-optimizations|Multicast Optimizations]] +* [[multicast-optimizations|Multicast Optimizations]]
For the multicast optimizations to work, potential receivers need to be known by batman-adv nodes sending multicast packets. To avoid any loss of multicast packets, _all_ such listeners need to be announced. If a batman-adv node is not able to announce its multicast listeners then it needs to receive all multicast packets. Topologically multicast listeners can spawn in two places:
@@ -10,7 +10,7 @@ h2. Local Multicast Listeners
The multicast listeners being present on the node itself, on the same kernel, can easily be fetched: We can directly ask the network subsystem of our own Linux kernel to tell us about any registered multicast listener. For instance your userspace audio application capable of receiving its music over multicast could register such a listener at its kernel:
-!{width: 80%25;}multicast-listener-fetching-no-bridge.png! +!{width: 80%;}multicast-listener-fetching-no-bridge.png!
So far, the batman-adv multicast optimizations were only enabled if no bridges were involved in the whole mesh network. This is because until now batman-adv was not able to detect multicast listeners on foreign kernels somewhere behind its bridge.
@@ -18,7 +18,7 @@ h2. Bridged-in Multicast Listeners
Now it is also possible to use this feature with bridges (on kernels > 3.15). A batman-adv node is able to detect any multicast listener on a foreign, non-mesh device behind a bridge, too:
-!{width: 80%25;}multicast-listener-fetching-with-bridge.png! +!{width: 80%;}multicast-listener-fetching-with-bridge.png!
For this batman-adv interacts with the IGMP/MLD snooping feature of the Linux bridge. IGMP/MLD are protocols to announce and detect multicast listeners on a link, even between different operating systems. A Linux bridge already detects multicast listeners through snooping IGMP and MLD messages, which a multicast listener regularly sends on the according link.