public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] Basic Multicast Optimizations
@ 2013-06-10  6:28 Linus Lüssing
  2013-06-10  6:28 ` [B.A.T.M.A.N.] [PATCH 1/3] batman-adv: Multicast Listener Announcements via Translation Table Linus Lüssing
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Linus Lüssing @ 2013-06-10  6:28 UTC (permalink / raw)
  To: b.a.t.m.a.n

This is the third revision of the basic multicast optimization patches.
It includes one functional and some compat fixes, and some style improvements,
thanks to Simons feedback:

PATCHv3 1/3:
* the pmc_rcu functions got removed - they weren't actually used in the
  submitted revision - so there's no more patch for net to export
  for_each_pmc_rcu() needed anymore. Should also fix Simon's compat error.
* Compat code for netdev_for_each_mc_addr() added.
  (I needed to introduce a batadv_hw_addr because I wasn't able to achieve
  backwards compatibility with a netdev_hw_addr - my "official reasoning" will
  be that netdev_hw_addr is unnecessarily bloated, struct batadv_hw_addr
  has just the right size to do the job)
* Compat fix for IFF_BRIDGE_PORT
* Removed primary_if->soft_iface in batadv_mcast_mla_tt_update() as we
  can always use bat_priv->soft_iface instead.

PATCHv3 2/3
* Renamed num_non_aware to a more specific num_no_mla - because we will need
  things like a num_no_tracker for instance with the multicast tracker feature
  in the future.
* Fixed removal of orig_node's without BATADV_MCAST_LISTENER_ANNOUNCEMENT
  flag, update num_no_mla properly now.

PATCHv3 3/3
* Renamed batadv_mcast_flood() to batadv_mcast_forw_mode() because it does not
  only show whether to flood or not (=drop), but also whether to forward via
  unicast. In the future with the multicast tracker feature a fourth return value
  is going to be added, making the name "batadv_mcast_flood()" even less fitting.
* Simon's style suggestions for batadv_mcast_forw_mode() and
  batadv_interface_tx().
* batadv_mcast_forw_mode() now returns an enum (thanks to Marek and Antonio for
  the suggestion).

I did not change:
> I don't quite understand why you return -1, maybe the packet could still
> be forwarded even if it could not be pulled?

Because if it returns -1 then something is wrong, for instance we could be
out of memory. If we are out of memory then we probably won't be able to
forward any packet. Also we shouldn't allocate any more memory for one thing
but I think it is also better to drop/free packets to save some memory
to increase the possibility of the system to recover without crashing.

Cheers, Linus


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [B.A.T.M.A.N.] Basic Multicast Optimizations
@ 2013-05-11 17:23 Linus Lüssing
  2013-05-11 17:23 ` [B.A.T.M.A.N.] [PATCH 1/3] batman-adv: Multicast Listener Announcements via Translation Table Linus Lüssing
  0 siblings, 1 reply; 9+ messages in thread
From: Linus Lüssing @ 2013-05-11 17:23 UTC (permalink / raw)
  To: b.a.t.m.a.n

This set of patches is the first one for a more efficient, group aware
multicast forwarding infrastructure in batman-adv.

This initial set mainly consists of the integration of announcing the
location of multicast listeners via the translation table mechanism to
be able to find out which batman-adv nodes are actually interested in
certain multicast traffic. As well as the signalizing of this
announcement capability via a new multicast TVLV.

Finally some basic multicast forwarding opitimizations are introduced:
If all nodes signalized the MLA capability then link-local IPv6 traffic
will be dropped if there is no interested listener or gets forwarded
via a batman-adv unicast packet if there is just one node interested
in the data.


For now, these optimizations only apply if all nodes in the mesh have
no bridge interface on top their bat0 interface. However making it
possible with bridges, too, and other features are on the roadmap. See
the according wiki page for details [1].


[1]: http://www.open-mesh.org/projects/batman-adv/wiki/Multicast-ideas-updated#Roadmap


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-06-10  7:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-10  6:28 [B.A.T.M.A.N.] Basic Multicast Optimizations Linus Lüssing
2013-06-10  6:28 ` [B.A.T.M.A.N.] [PATCH 1/3] batman-adv: Multicast Listener Announcements via Translation Table Linus Lüssing
2013-06-10  6:28 ` [B.A.T.M.A.N.] [PATCH 2/3] batman-adv: Announce new capability via multicast TVLV Linus Lüssing
2013-06-10  6:28 ` [B.A.T.M.A.N.] [PATCH 3/3] batman-adv: Modified forwarding behaviour for multicast packets Linus Lüssing
2013-06-10  7:06 ` [B.A.T.M.A.N.] Basic Multicast Optimizations Linus Lüssing
  -- strict thread matches above, loose matches on Subject: below --
2013-05-11 17:23 Linus Lüssing
2013-05-11 17:23 ` [B.A.T.M.A.N.] [PATCH 1/3] batman-adv: Multicast Listener Announcements via Translation Table Linus Lüssing
2013-05-11 22:55   ` Antonio Quartulli
2013-05-16 18:16     ` Linus Lüssing
2013-05-16 19:36       ` Antonio Quartulli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox