public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
From: "Linus Lüssing" <linus.luessing@web.de>
To: b.a.t.m.a.n@lists.open-mesh.org
Subject: [B.A.T.M.A.N.] Basic Multicast Optimizations
Date: Tue, 13 Aug 2013 10:23:55 +0200	[thread overview]
Message-ID: <1376382240-30664-1-git-send-email-linus.luessing@web.de> (raw)

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


             reply	other threads:[~2013-08-13  8:23 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-13  8:23 Linus Lüssing [this message]
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
  -- strict thread matches above, loose matches on Subject: below --
2014-01-27  9:48 Linus Lüssing
2013-11-14  6:26 Linus Lüssing
2013-10-26 19:16 Linus Lüssing
2013-08-15 19:21 Linus Lüssing
2013-08-19 20:12 ` Simon Wunderlich
2013-07-03 22:03 Linus Lüssing
2013-07-04  5:06 ` Linus Lüssing
2013-06-14 17:50 Linus Lüssing
2013-06-16 14:08 ` Simon Wunderlich
2013-06-14  9:02 Linus Lüssing
2013-06-10  7:11 Linus Lüssing
2013-06-12 10:14 ` Simon Wunderlich
2013-06-12 12:27   ` Linus Lüssing
2013-06-12 12:44     ` Simon Wunderlich
2013-06-12 20:33       ` Linus Lüssing
2013-06-10  6:28 Linus Lüssing
2013-06-10  7:06 ` Linus Lüssing
2013-05-24  8:02 Linus Lüssing
2013-05-24  9:00 ` Linus Lüssing
2013-05-24  9:06   ` Antonio Quartulli
2013-05-24  9:33 ` Marek Lindner
2013-05-11 17:23 Linus Lüssing
2013-05-16 11:51 ` Simon Wunderlich
2013-05-16 17:42   ` Linus Lüssing
2013-05-16 18:31     ` Simon Wunderlich
2013-05-17  1:38       ` Linus Lüssing
2013-05-17 10:24         ` 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=1376382240-30664-1-git-send-email-linus.luessing@web.de \
    --to=linus.luessing@web.de \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox