The last round of multicast patches send to the batman-adv mailinglist
to add support for the multicast optimizations in bridged scenarios, too,
unfortunately had one major conceptual flaw: It could lead to packet loss.
It's not sufficient to have the unicasting of reports implemented on
bridge-nodes only. Nodes without bridges need to treat reports the same
way.

The issue is described in detail here:

https://www.open-mesh.org/projects/batman-adv/wiki/Multicast-optimizations-listener-reports


Cheers, Linus

-----

Changelog:
v5:
 * Removed RFC tag: Needed exports got merged to net-next and are going to
   be available with Linux 4.2
 * Redid compat solution - now fully backwards compatible down to 2.6.33
v4:
 * excluded bridge part from this patchset, they should
   hopefully be added to net-next soon
 * Added a compat solution (PATCH 3/3)
 * Removed Kconfig-depends as by David's suggestion the needed parsing
   functions for MLD are going to be forced built-ins even if IPv6 is
   going to be built as a module
 * Removed unused variable 'int ret' in batadv_mcast_is_report_ipv6()
 * Adjusted to new folder structure
v3:
 * Adding Kconfig-depends and #if's
   (so basically adding similar dependancy constraints as the bridge code
    has, except that there are no depends if batman-adv gets compiled without
    multicast optimizations)
   -> the case of IPv6=M and batman-adv=y is still impossible if multicast
      optimizations are enabled; but I don't see the practical demand for that
      either - people who use IPv6 as a module will probably also want to
      use batman-adv as a module
v2:
 * various bugfixes (now runtime tested, too - should(tm) work)
 * added netdev+bridge mailinglists

Reply via email to