From: Marek Lindner <mareklindner@neomailbox.ch>
To: The list for a Better Approach To Mobile Ad-hoc Networking
<b.a.t.m.a.n@lists.open-mesh.org>
Subject: Re: [B.A.T.M.A.N.] [PATCH] batman-adv: Add multicast optimization support for bridged setups
Date: Wed, 18 Jun 2014 12:53:20 +0800 [thread overview]
Message-ID: <6992822.ghf2EUPW9C@diderot> (raw)
In-Reply-To: <20140617222414.GG29033@Linus-Debian>
[-- Attachment #1: Type: text/plain, Size: 2199 bytes --]
On Wednesday 18 June 2014 00:24:14 Linus Lüssing wrote:
> A batman-adv node needs to know on/behind which other batman-adv
> node a multicast listener exists to be able to know where it needs
> to forward multicast packets to. A multicast listener can either
> sit on bat0, on a bridge on top of bat0. Or in this case, that's
> what "mla_bridge_get" is for, behind the bridge.
>
> We usually don't have direct access to the kernel of weird Windows
> machines behind a bridge. Luckily a protocol, Multicast Listener
> Discovery, exists to detect such multicast listeners.
>
> The bridge code has multicast snooping already, so it already
> memorizes what multicast listeners it has behind it's bridge.
> That's what we are fetching here. To add these to our local TT to
> announce them through the mesh.
Thanks for the clarifications but that does not address my question. To be
more precise: In batadv_mcast_mla_update() your code is calling
batadv_mcast_mla_softif_get() which queries the bridge interface (if bridged).
A couple of lines later batadv_mcast_mla_bridge_get() is called (if bridged).
It looks to me the code queries the bridge twice ?
Then, I am comparing the kernel doc to get the difference but I see none:
* batadv_mcast_mla_softif_get - get softif multicast listeners
* @dev: the device to collect multicast addresses from
* @mcast_list: a list to put found addresses into
*
* Collect multicast addresses of the local multicast listeners
* on the given soft interface, dev, in the given mcast_list.
*
* If there is a bridge interface on top of dev, collect from that one
* instead.
===============================================================
* batadv_mcast_mla_bridge_get - get bridged-in multicast listeners
* @dev: a bridge slave whose bridge to collect multicast addresses from
* @mcast_list: a list to put found addresses into
*
* Collects multicast addresses of the bridged-in multicast listeners
* from the bridge on top of the given soft interface, dev, in the
* given mcast_list.
What is the difference between these calls and why doesn't the code explain
that difference ?
Cheers,
Marek
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
next prev parent reply other threads:[~2014-06-18 4:53 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-12 0:00 [B.A.T.M.A.N.] [PATCH] batman-adv: Add multicast optimization support for bridged setups Linus Lüssing
2014-06-17 14:50 ` Marek Lindner
2014-06-17 22:24 ` Linus Lüssing
2014-06-18 4:53 ` Marek Lindner [this message]
2014-06-20 15:57 ` Linus Lüssing
2014-06-21 6:57 ` Marek Lindner
2014-06-21 12:09 ` Simon Wunderlich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6992822.ghf2EUPW9C@diderot \
--to=mareklindner@neomailbox.ch \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.