b.a.t.m.a.n.lists.open-mesh.org archive mirror
 help / color / mirror / Atom feed
From: Marek Lindner <lindner_marek@yahoo.de>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, b.a.t.m.a.n@lists.open-mesh.org
Subject: [B.A.T.M.A.N.] pull request: batman-adv 2011-12-07
Date: Wed,  7 Dec 2011 13:36:40 +0800	[thread overview]
Message-ID: <1323236203-24711-1-git-send-email-lindner_marek@yahoo.de> (raw)

David,

we have to more fixes that we would like to get pulled into net-next/linux-3.2.
Both patches address TT protocol misbehavior. Upon merging these patches into
net-next you'll run into merge conflicts.

Patch1:
++<<<<<<< 
 +              tt_global_entry->common.flags |= TT_CLIENT_PENDING;
 +              send_roam_adv(bat_priv, tt_global_entry->common.addr,
++=======
+               tt_global_entry->flags |= TT_CLIENT_ROAM;
+               tt_global_entry->roam_at = jiffies;
+ 
+               send_roam_adv(bat_priv, tt_global_entry->addr,
++>>>>>>> 

Resolution1:
+======
		tt_global_entry->common.flags |= TT_CLIENT_ROAM;
		tt_global_entry->roam_at = jiffies;
		send_roam_adv(bat_priv, tt_global_entry->common.addr,
+======

Patch2:
++<<<<<<< 
 +                      tt_global_entry->common.flags |= TT_CLIENT_ROAM;
 +                      tt_global_entry->roam_at = jiffies;
 +                      goto out;
++=======
+                       /* if we are deleting a global entry due to a roam
+                        * event, there are two possibilities:
+                        * 1) the client roamed from node A to node B => we mark
+                        *    it with TT_CLIENT_ROAM, we start a timer and we
+                        *    wait for node B to claim it. In case of timeout
+                        *    the entry is purged.
+                        * 2) the client roamed to us => we can directly delete
+                        *    the global entry, since it is useless now. */
+                       tt_local_entry = tt_local_hash_find(bat_priv,
+                                                       tt_global_entry->addr);
+                       if (!tt_local_entry) {
+                               tt_global_entry->flags |= TT_CLIENT_ROAM;
+                               tt_global_entry->roam_at = jiffies;
+                               goto out;
+                       }
++>>>>>>>

Resolution2:
+======
			 /* if we are deleting a global entry due to a roam
			 * event, there are two possibilities:
			 * 1) the client roamed from node A to node B => we mark
			 *    it with TT_CLIENT_ROAM, we start a timer and we
			 *    wait for node B to claim it. In case of timeout
			 *    the entry is purged.
			 * 2) the client roamed to us => we can directly delete
			 *    the global entry, since it is useless now. */
			tt_local_entry = tt_local_hash_find(bat_priv,
						tt_global_entry->common.addr);
			if (!tt_local_entry) {
				tt_global_entry->common.flags |= TT_CLIENT_ROAM;
				tt_global_entry->roam_at = jiffies;
				goto out;
			}
+======

Let me know if you have any further question.

Thanks,
Marek

The following changes since commit 1ea6b8f48918282bdca0b32a34095504ee65bab5:

  Linux 3.2-rc1 (2011-11-07 16:16:02 -0800)

are available in the git repository at:
  git://git.open-mesh.org/linux-merge.git batman-adv/maint

Antonio Quartulli (2):
      batman-adv: in case of roaming mark the client with TT_CLIENT_ROAM
      batman-adv: delete global entry in case of roaming

 net/batman-adv/translation-table.c |   27 ++++++++++++++++++++++-----
 1 files changed, 22 insertions(+), 5 deletions(-)



             reply	other threads:[~2011-12-07  5:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-07  5:36 Marek Lindner [this message]
2011-12-07  5:42 ` [B.A.T.M.A.N.] [PATCH 1/2] batman-adv: in case of roaming mark the client with TT_CLIENT_ROAM Marek Lindner
2011-12-07  5:42 ` [B.A.T.M.A.N.] [PATCH 2/2] batman-adv: delete global entry in case of roaming Marek Lindner
2011-12-07 20:07 ` [B.A.T.M.A.N.] pull request: batman-adv 2011-12-07 David Miller

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=1323236203-24711-1-git-send-email-lindner_marek@yahoo.de \
    --to=lindner_marek@yahoo.de \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).