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-08-13  8:23 Linus Lüssing
  2013-08-13  8:23 ` [B.A.T.M.A.N.] [PATCHv8 1/5] batman-adv: Multicast Listener Announcements via Translation Table Linus Lüssing
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Linus Lüssing @ 2013-08-13  8:23 UTC (permalink / raw)
  To: b.a.t.m.a.n

This is the eighth revision of the basic multicast optimization patches.

It adds many style + functional changes and fixes some bugs.

It also adds a new, important fifth patch, which addresses an issue
that I would have overlooked if it weren't for the extensive offline
talks with Simon about the interaction of batman-adv and various
multicast related RFCs.


# Changelog v7 -> v8

## Style improvements

* renamed batadv_mcast_tt_clean() tobatadv_mcast_tt_retract()
* renamed batadv_mcast_tvlv_update_flag_counter() to batadv_mcast_update_counter()
* renamed batadv_mcast_mla_tt_update() to batadv_mcast_mla_update()
* renamed batadv_mcast_update_counter() to batadv_mcast_counter_update()

* renamed BATADV_MCAST_HAS_NO_BRIDGE to BATADV_MCAST_WANT_ALL_UNSNOOPABLES (and reverse its logic)
* change value of BATADV_UNINIT_FLAGS from -1 to an unused bit, BIT(15)
  -> no more need to check BATADV_UNINIT_FLAGS in batadv_mcast_counter_update()

* moved code from batadv_mcast_mla_tt_update() to newly introduced batadv_mcast_mla_tvlv_update
* moved introduction of multicast_mode sysfs file to the third patch
* added kernel doc for struct batadv_priv_mcast and enum batadv_mcast_flag

## Functional improvements

* changed a '== -EINVAL' to '< 0'
* check for a bridge anywhere on top of bat0 (like br0 on bond0 on bat0, not just br0 on bat0)
  (as discussed on IRC we don't need to check for bridges on top of vlans yet as multicast
  optimizations are only enabled for non-VLAN packets at the moment)
* removed sysfs file control over multicast TT+TVLV announcements, moved sysfs file introduction to the third patch
* removed BATADV_MCAST_LISTENER_ANNOUNCEMENT flag: its purpose is now provided by checking the existence of the multicast tvlv instead
* made the tvlv value length check in the multicast tvlv handler to not only accept a length of one byte but anything greater, too
* New Patch: batman-adv: Send multicast packets to nodes with a WANT_ALL flag

## Bugs

* converted the static 'enabled' variable in batadv_mcast_mla_tt_update() to a per bat_priv variable, using bat_priv->mcast.flags (fixes a bug when using multiple batX interfaces)
* the announced tvlv was missing the BATADV_MCAST_HAS_NO_BRIDGE flag (not needed anymore with the reversed logic)
* batadv_mcast_update_counter() was missing a case which would have needed a BATADV_UNINIT_FLAGS check (not needed anymore with reversed logic and new value for BATADV_UNINIT_FLAGS)
* added missing update for num_want_all_unsnoopables (former num_has_bridge) counter in batadv_mcast_purge_orig()


Cheers, Linus


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

end of thread, other threads:[~2013-08-15 18:25 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-13  8:23 [B.A.T.M.A.N.] Basic Multicast Optimizations Linus Lüssing
2013-08-13  8:23 ` [B.A.T.M.A.N.] [PATCHv8 1/5] batman-adv: Multicast Listener Announcements via Translation Table Linus Lüssing
2013-08-13  8:23 ` [B.A.T.M.A.N.] [PATCHv8 2/5] batman-adv: Announce new capability via multicast TVLV Linus Lüssing
2013-08-13  8:23 ` [B.A.T.M.A.N.] [PATCHv8 3/5] batman-adv: Modified forwarding behaviour for multicast packets Linus Lüssing
2013-08-15 13:45   ` Simon Wunderlich
2013-08-15 18:02     ` Linus Lüssing
2013-08-13  8:23 ` [B.A.T.M.A.N.] [PATCHv8 4/5] batman-adv: Add IPv4 link-local/IPv6-ll-all-nodes multicast support Linus Lüssing
2013-08-13  8:24 ` [B.A.T.M.A.N.] [PATCHv8 5/5] batman-adv: Send multicast packets to nodes with a WANT_ALL flag Linus Lüssing
2013-08-15 13:56 ` [B.A.T.M.A.N.] Basic Multicast Optimizations Simon Wunderlich
2013-08-15 18:25   ` Linus Lüssing

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