b.a.t.m.a.n.lists.open-mesh.org archive mirror
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14
@ 2013-01-13 23:41 Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 01/15] batman-adv: use per_cpu_add helper Antonio Quartulli
                   ` (15 more replies)
  0 siblings, 16 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n

this is our first changeset intended for net-next/linux-3.9.
In this batch you have mostly code refactoring, style adjustments and output
beautifications.
The only new 'behaviours' are:
- prevent the TT component from learning multicast mac addresses as they are not
  really handled (yet)
- initialise own lockdep class for each hash table in order to avoid false
  positive from lockdep


Please pull or let me know if there is any problem.
Thanks a lot,
	Antonio


The following changes since commit 00494be4546432a11d62ebfeca363256ff9822b5:

  networking/cs89x0.txt: delete stale information about hand patching (2013-01-11 16:52:26 -0800)

are available in the git repository at:

  git://git.open-mesh.org/linux-merge.git tags/batman-adv-for-davem

for you to fetch changes up to 0c430d0d7b8bafa74959a84156ef0bda1417a3d4:

  batman-adv: unbloat batadv_priv if debug is not enabled (2013-01-12 20:58:23 +1000)

----------------------------------------------------------------
Included changes:
- use per_cpu_add when possible
- prevent the TT component to add multicast address as "mesh clients"
- some debug output improvements
- proper lockdeps class initializations
- new style fixes (space before/after brackets)
- other minor fixes and refactoring

----------------------------------------------------------------
Antonio Quartulli (11):
      batman-adv: reduce local TT entry timeout to 10 minutes
      batman-adv: improve local translation table output
      batman-adv: print the CRC together with the translation tables
      batman-adv: unify and properly print hex values
      batman-adv: remove useless assignment in tt_local_add()
      batman-adv: Initialize lockdep class keys for hashes
      batman-adv: remove useless blank lines before and after brackets
      batman-adv: remove useless NULL check
      batman-adv: don't compile the BLA switch if not requested
      batman-adv: use the const qualifier in hash functions
      batman-adv: fix typo in debug message

Linus Lüssing (1):
      batman-adv: Do not add multicast MAC addresses to translation table

Marek Lindner (2):
      batman-adv: remove unused variable from orig_node struct
      batman-adv: unbloat batadv_priv if debug is not enabled

Shan Wei (1):
      batman-adv: use per_cpu_add helper

 net/batman-adv/bat_iv_ogm.c            |  8 +---
 net/batman-adv/bridge_loop_avoidance.c | 24 +++++------
 net/batman-adv/debugfs.c               |  8 +---
 net/batman-adv/hash.h                  |  2 +-
 net/batman-adv/main.h                  |  6 +--
 net/batman-adv/originator.c            |  9 +++--
 net/batman-adv/routing.c               |  4 --
 net/batman-adv/send.c                  |  2 -
 net/batman-adv/soft-interface.c        |  7 +++-
 net/batman-adv/translation-table.c     | 73 ++++++++++++++++++++++------------
 net/batman-adv/types.h                 |  7 +++-
 net/batman-adv/unicast.c               |  2 -
 net/batman-adv/vis.c                   |  6 +++
 13 files changed, 88 insertions(+), 70 deletions(-)

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

* [B.A.T.M.A.N.] [PATCH 01/15] batman-adv: use per_cpu_add helper
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 02/15] batman-adv: Do not add multicast MAC addresses to translation table Antonio Quartulli
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Shan Wei, Marek Lindner, Sven Eckelmann

From: Shan Wei <davidshan@tencent.com>

this_cpu_add is an atomic operation.
and be more faster than per_cpu_ptr operation.

Signed-off-by: Shan Wei <davidshan@tencent.com>
Reviewed-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
---
 net/batman-adv/main.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index 2f85577..c4fe41f 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -276,9 +276,7 @@ static inline bool batadv_has_timed_out(unsigned long timestamp,
 static inline void batadv_add_counter(struct batadv_priv *bat_priv, size_t idx,
 				      size_t count)
 {
-	int cpu = get_cpu();
-	per_cpu_ptr(bat_priv->bat_counters, cpu)[idx] += count;
-	put_cpu();
+	this_cpu_add(bat_priv->bat_counters[idx], count);
 }
 
 #define batadv_inc_counter(b, i) batadv_add_counter(b, i, 1)
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 02/15] batman-adv: Do not add multicast MAC addresses to translation table
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 01/15] batman-adv: use per_cpu_add helper Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 03/15] batman-adv: reduce local TT entry timeout to 10 minutes Antonio Quartulli
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

From: Linus Lüssing <linus.luessing@web.de>

The current translation table mechanism is not suitable for multicast
addresses and we are currently flooding such frames anyway.

Therefore this patch prevents multicast MAC addresses being added to the
translation table.

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Acked-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
---
 net/batman-adv/soft-interface.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
index 90f4049..f8cc142 100644
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@ -180,7 +180,8 @@ static int batadv_interface_tx(struct sk_buff *skb,
 		goto dropped;
 
 	/* Register the client MAC in the transtable */
-	batadv_tt_local_add(soft_iface, ethhdr->h_source, skb->skb_iif);
+	if (!is_multicast_ether_addr(ethhdr->h_source))
+		batadv_tt_local_add(soft_iface, ethhdr->h_source, skb->skb_iif);
 
 	/* don't accept stp packets. STP does not help in meshes.
 	 * better use the bridge loop avoidance ...
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 03/15] batman-adv: reduce local TT entry timeout to 10 minutes
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 01/15] batman-adv: use per_cpu_add helper Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 02/15] batman-adv: Do not add multicast MAC addresses to translation table Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 04/15] batman-adv: improve local translation table output Antonio Quartulli
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

The current timeout is set to one hour. However a client connected to the mesh
network will always generate traffic. In the worst case it will send ARP
requests every 4 or 5 minutes. On the other hand having a long timeout means
storing dead entries for one hour and it leads to very big trans-tables
containing useless clients.

This patch reduces the timeout to 10 minutes

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
 net/batman-adv/main.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index c4fe41f..d04b209 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -41,7 +41,7 @@
  * -> TODO: check influence on BATADV_TQ_LOCAL_WINDOW_SIZE
  */
 #define BATADV_PURGE_TIMEOUT 200000 /* 200 seconds */
-#define BATADV_TT_LOCAL_TIMEOUT 3600000 /* in milliseconds */
+#define BATADV_TT_LOCAL_TIMEOUT 600000 /* in milliseconds */
 #define BATADV_TT_CLIENT_ROAM_TIMEOUT 600000 /* in milliseconds */
 #define BATADV_TT_CLIENT_TEMP_TIMEOUT 600000 /* in milliseconds */
 #define BATADV_DAT_ENTRY_TIMEOUT (5*60000) /* 5 mins in milliseconds */
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 04/15] batman-adv: improve local translation table output
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (2 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 03/15] batman-adv: reduce local TT entry timeout to 10 minutes Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 05/15] batman-adv: print the CRC together with the translation tables Antonio Quartulli
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

This patch adds a nice header to the local translation table and
the last_seen time for each local entry

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
 net/batman-adv/translation-table.c | 27 +++++++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)

diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 22457a7..426a3ae 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -472,10 +472,16 @@ int batadv_tt_local_seq_print_text(struct seq_file *seq, void *offset)
 	struct batadv_priv *bat_priv = netdev_priv(net_dev);
 	struct batadv_hashtable *hash = bat_priv->tt.local_hash;
 	struct batadv_tt_common_entry *tt_common_entry;
+	struct batadv_tt_local_entry *tt_local;
 	struct batadv_hard_iface *primary_if;
 	struct hlist_node *node;
 	struct hlist_head *head;
 	uint32_t i;
+	int last_seen_secs;
+	int last_seen_msecs;
+	unsigned long last_seen_jiffies;
+	bool no_purge;
+	uint16_t np_flag = BATADV_TT_CLIENT_NOPURGE;
 
 	primary_if = batadv_seq_print_text_primary_if_get(seq);
 	if (!primary_if)
@@ -484,6 +490,8 @@ int batadv_tt_local_seq_print_text(struct seq_file *seq, void *offset)
 	seq_printf(seq,
 		   "Locally retrieved addresses (from %s) announced via TT (TTVN: %u):\n",
 		   net_dev->name, (uint8_t)atomic_read(&bat_priv->tt.vn));
+	seq_printf(seq, "       %-13s %-7s %-10s\n", "Client", "Flags",
+		   "Last seen");
 
 	for (i = 0; i < hash->size; i++) {
 		head = &hash->table[i];
@@ -491,18 +499,29 @@ int batadv_tt_local_seq_print_text(struct seq_file *seq, void *offset)
 		rcu_read_lock();
 		hlist_for_each_entry_rcu(tt_common_entry, node,
 					 head, hash_entry) {
-			seq_printf(seq, " * %pM [%c%c%c%c%c]\n",
+			tt_local = container_of(tt_common_entry,
+						struct batadv_tt_local_entry,
+						common);
+			last_seen_jiffies = jiffies - tt_local->last_seen;
+			last_seen_msecs = jiffies_to_msecs(last_seen_jiffies);
+			last_seen_secs = last_seen_msecs / 1000;
+			last_seen_msecs = last_seen_msecs % 1000;
+
+			no_purge = tt_common_entry->flags & np_flag;
+
+			seq_printf(seq, " * %pM [%c%c%c%c%c] %3u.%03u\n",
 				   tt_common_entry->addr,
 				   (tt_common_entry->flags &
 				    BATADV_TT_CLIENT_ROAM ? 'R' : '.'),
-				   (tt_common_entry->flags &
-				    BATADV_TT_CLIENT_NOPURGE ? 'P' : '.'),
+				   no_purge ? 'P' : '.',
 				   (tt_common_entry->flags &
 				    BATADV_TT_CLIENT_NEW ? 'N' : '.'),
 				   (tt_common_entry->flags &
 				    BATADV_TT_CLIENT_PENDING ? 'X' : '.'),
 				   (tt_common_entry->flags &
-				    BATADV_TT_CLIENT_WIFI ? 'W' : '.'));
+				    BATADV_TT_CLIENT_WIFI ? 'W' : '.'),
+				   no_purge ? last_seen_secs : 0,
+				   no_purge ? last_seen_msecs : 0);
 		}
 		rcu_read_unlock();
 	}
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 05/15] batman-adv: print the CRC together with the translation tables
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (3 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 04/15] batman-adv: improve local translation table output Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 06/15] batman-adv: unify and properly print hex values Antonio Quartulli
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

To simplify debugging operations, it is better to print the related
CRC together with the translation table (local CRC for the local
table and global CRC for each entry in the global table)

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
 net/batman-adv/translation-table.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 426a3ae..408807e 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -488,8 +488,9 @@ int batadv_tt_local_seq_print_text(struct seq_file *seq, void *offset)
 		goto out;
 
 	seq_printf(seq,
-		   "Locally retrieved addresses (from %s) announced via TT (TTVN: %u):\n",
-		   net_dev->name, (uint8_t)atomic_read(&bat_priv->tt.vn));
+		   "Locally retrieved addresses (from %s) announced via TT (TTVN: %u CRC: %#.4x):\n",
+		   net_dev->name, (uint8_t)atomic_read(&bat_priv->tt.vn),
+		   bat_priv->tt.local_crc);
 	seq_printf(seq, "       %-13s %-7s %-10s\n", "Client", "Flags",
 		   "Last seen");
 
@@ -986,10 +987,11 @@ batadv_tt_global_print_entry(struct batadv_tt_global_entry *tt_global_entry,
 	best_entry = batadv_transtable_best_orig(tt_global_entry);
 	if (best_entry) {
 		last_ttvn = atomic_read(&best_entry->orig_node->last_ttvn);
-		seq_printf(seq,	" %c %pM  (%3u) via %pM     (%3u)   [%c%c%c]\n",
+		seq_printf(seq,
+			   " %c %pM  (%3u) via %pM     (%3u)   (%#.4x) [%c%c%c]\n",
 			   '*', tt_global_entry->common.addr,
 			   best_entry->ttvn, best_entry->orig_node->orig,
-			   last_ttvn,
+			   last_ttvn, best_entry->orig_node->tt_crc,
 			   (flags & BATADV_TT_CLIENT_ROAM ? 'R' : '.'),
 			   (flags & BATADV_TT_CLIENT_WIFI ? 'W' : '.'),
 			   (flags & BATADV_TT_CLIENT_TEMP ? 'T' : '.'));
@@ -1031,8 +1033,9 @@ int batadv_tt_global_seq_print_text(struct seq_file *seq, void *offset)
 	seq_printf(seq,
 		   "Globally announced TT entries received via the mesh %s\n",
 		   net_dev->name);
-	seq_printf(seq, "       %-13s %s       %-15s %s %s\n",
-		   "Client", "(TTVN)", "Originator", "(Curr TTVN)", "Flags");
+	seq_printf(seq, "       %-13s %s       %-15s %s (%-6s) %s\n",
+		   "Client", "(TTVN)", "Originator", "(Curr TTVN)", "CRC",
+		   "Flags");
 
 	for (i = 0; i < hash->size; i++) {
 		head = &hash->table[i];
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 06/15] batman-adv: unify and properly print hex values
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (4 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 05/15] batman-adv: print the CRC together with the translation tables Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 07/15] batman-adv: remove useless assignment in tt_local_add() Antonio Quartulli
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

Values are printed in hexadecimal format in several points in the
code, but they are not printed using the same format string.

This patches unifies the format used for such numbers so that they
look the same everywhere.

Given the fact that all the variables printed as hexadecimal are 16
bit long, this is the chosen printing format: %#.4x

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
 net/batman-adv/bat_iv_ogm.c            |  2 +-
 net/batman-adv/bridge_loop_avoidance.c | 18 +++++++++---------
 net/batman-adv/translation-table.c     |  2 +-
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index 7d02ebd..f2a3649 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
@@ -1033,7 +1033,7 @@ static void batadv_iv_ogm_process(const struct ethhdr *ethhdr,
 		is_single_hop_neigh = true;
 
 	batadv_dbg(BATADV_DBG_BATMAN, bat_priv,
-		   "Received BATMAN packet via NB: %pM, IF: %s [%pM] (from OG: %pM, via prev OG: %pM, seqno %u, ttvn %u, crc %u, changes %u, td %d, TTL %d, V %d, IDF %d)\n",
+		   "Received BATMAN packet via NB: %pM, IF: %s [%pM] (from OG: %pM, via prev OG: %pM, seqno %u, ttvn %u, crc %#.4x, changes %u, td %d, TTL %d, V %d, IDF %d)\n",
 		   ethhdr->h_source, if_incoming->net_dev->name,
 		   if_incoming->net_dev->dev_addr, batadv_ogm_packet->orig,
 		   batadv_ogm_packet->prev_sender,
diff --git a/net/batman-adv/bridge_loop_avoidance.c b/net/batman-adv/bridge_loop_avoidance.c
index 5aebe93..ec12c79 100644
--- a/net/batman-adv/bridge_loop_avoidance.c
+++ b/net/batman-adv/bridge_loop_avoidance.c
@@ -661,12 +661,12 @@ static int batadv_handle_announce(struct batadv_priv *bat_priv,
 	crc = ntohs(*((__be16 *)(&an_addr[4])));
 
 	batadv_dbg(BATADV_DBG_BLA, bat_priv,
-		   "handle_announce(): ANNOUNCE vid %d (sent by %pM)... CRC = %04x\n",
+		   "handle_announce(): ANNOUNCE vid %d (sent by %pM)... CRC = %#.4x\n",
 		   vid, backbone_gw->orig, crc);
 
 	if (backbone_gw->crc != crc) {
 		batadv_dbg(BATADV_DBG_BLA, backbone_gw->bat_priv,
-			   "handle_announce(): CRC FAILED for %pM/%d (my = %04x, sent = %04x)\n",
+			   "handle_announce(): CRC FAILED for %pM/%d (my = %#.4x, sent = %#.4x)\n",
 			   backbone_gw->orig, backbone_gw->vid,
 			   backbone_gw->crc, crc);
 
@@ -835,7 +835,7 @@ static int batadv_check_claim_group(struct batadv_priv *bat_priv,
 	/* if our mesh friends mac is bigger, use it for ourselves. */
 	if (ntohs(bla_dst->group) > ntohs(bla_dst_own->group)) {
 		batadv_dbg(BATADV_DBG_BLA, bat_priv,
-			   "taking other backbones claim group: %04x\n",
+			   "taking other backbones claim group: %#.4x\n",
 			   ntohs(bla_dst->group));
 		bla_dst_own->group = bla_dst->group;
 	}
@@ -1626,10 +1626,10 @@ int batadv_bla_claim_table_seq_print_text(struct seq_file *seq, void *offset)
 
 	primary_addr = primary_if->net_dev->dev_addr;
 	seq_printf(seq,
-		   "Claims announced for the mesh %s (orig %pM, group id %04x)\n",
+		   "Claims announced for the mesh %s (orig %pM, group id %#.4x)\n",
 		   net_dev->name, primary_addr,
 		   ntohs(bat_priv->bla.claim_dest.group));
-	seq_printf(seq, "   %-17s    %-5s    %-17s [o] (%-4s)\n",
+	seq_printf(seq, "   %-17s    %-5s    %-17s [o] (%-6s)\n",
 		   "Client", "VID", "Originator", "CRC");
 	for (i = 0; i < hash->size; i++) {
 		head = &hash->table[i];
@@ -1638,7 +1638,7 @@ int batadv_bla_claim_table_seq_print_text(struct seq_file *seq, void *offset)
 		hlist_for_each_entry_rcu(claim, node, head, hash_entry) {
 			is_own = batadv_compare_eth(claim->backbone_gw->orig,
 						    primary_addr);
-			seq_printf(seq,	" * %pM on % 5d by %pM [%c] (%04x)\n",
+			seq_printf(seq,	" * %pM on % 5d by %pM [%c] (%#.4x)\n",
 				   claim->addr, claim->vid,
 				   claim->backbone_gw->orig,
 				   (is_own ? 'x' : ' '),
@@ -1672,10 +1672,10 @@ int batadv_bla_backbone_table_seq_print_text(struct seq_file *seq, void *offset)
 
 	primary_addr = primary_if->net_dev->dev_addr;
 	seq_printf(seq,
-		   "Backbones announced for the mesh %s (orig %pM, group id %04x)\n",
+		   "Backbones announced for the mesh %s (orig %pM, group id %#.4x)\n",
 		   net_dev->name, primary_addr,
 		   ntohs(bat_priv->bla.claim_dest.group));
-	seq_printf(seq, "   %-17s    %-5s %-9s (%-4s)\n",
+	seq_printf(seq, "   %-17s    %-5s %-9s (%-6s)\n",
 		   "Originator", "VID", "last seen", "CRC");
 	for (i = 0; i < hash->size; i++) {
 		head = &hash->table[i];
@@ -1693,7 +1693,7 @@ int batadv_bla_backbone_table_seq_print_text(struct seq_file *seq, void *offset)
 				continue;
 
 			seq_printf(seq,
-				   " * %pM on % 5d % 4i.%03is (%04x)\n",
+				   " * %pM on % 5d % 4i.%03is (%#.4x)\n",
 				   backbone_gw->orig, backbone_gw->vid,
 				   secs, msecs, backbone_gw->crc);
 		}
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 408807e..40ef955 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -2518,7 +2518,7 @@ void batadv_tt_update_orig(struct batadv_priv *bat_priv,
 		    orig_node->tt_crc != tt_crc) {
 request_table:
 			batadv_dbg(BATADV_DBG_TT, bat_priv,
-				   "TT inconsistency for %pM. Need to retrieve the correct information (ttvn: %u last_ttvn: %u crc: %u last_crc: %u num_changes: %u)\n",
+				   "TT inconsistency for %pM. Need to retrieve the correct information (ttvn: %u last_ttvn: %u crc: %#.4x last_crc: %#.4x num_changes: %u)\n",
 				   orig_node->orig, ttvn, orig_ttvn, tt_crc,
 				   orig_node->tt_crc, tt_num_changes);
 			batadv_send_tt_request(bat_priv, orig_node, ttvn,
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 07/15] batman-adv: remove useless assignment in tt_local_add()
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (5 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 06/15] batman-adv: unify and properly print hex values Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 08/15] batman-adv: Initialize lockdep class keys for hashes Antonio Quartulli
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

The flag field of the tt_local_entry->common structure in
tt_local_add() is first assigned NO_FLAGS and then TT_CLIENT_NEW so
nullifying the first operation. For this reason it is safe to remove
the first assignment.

This was introuduced by ("batman-adv: keep local table consistency for
further TT_RESPONSE")

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
 net/batman-adv/translation-table.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 40ef955..5f44232 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -305,7 +305,11 @@ void batadv_tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
 		   (uint8_t)atomic_read(&bat_priv->tt.vn));
 
 	memcpy(tt_local->common.addr, addr, ETH_ALEN);
-	tt_local->common.flags = BATADV_NO_FLAGS;
+	/* The local entry has to be marked as NEW to avoid to send it in
+	 * a full table response going out before the next ttvn increment
+	 * (consistency check)
+	 */
+	tt_local->common.flags = BATADV_TT_CLIENT_NEW;
 	if (batadv_is_wifi_iface(ifindex))
 		tt_local->common.flags |= BATADV_TT_CLIENT_WIFI;
 	atomic_set(&tt_local->common.refcount, 2);
@@ -316,12 +320,6 @@ void batadv_tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
 	if (batadv_compare_eth(addr, soft_iface->dev_addr))
 		tt_local->common.flags |= BATADV_TT_CLIENT_NOPURGE;
 
-	/* The local entry has to be marked as NEW to avoid to send it in
-	 * a full table response going out before the next ttvn increment
-	 * (consistency check)
-	 */
-	tt_local->common.flags |= BATADV_TT_CLIENT_NEW;
-
 	hash_added = batadv_hash_add(bat_priv->tt.local_hash, batadv_compare_tt,
 				     batadv_choose_orig, &tt_local->common,
 				     &tt_local->common.hash_entry);
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 08/15] batman-adv: Initialize lockdep class keys for hashes
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (6 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 07/15] batman-adv: remove useless assignment in tt_local_add() Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 09/15] batman-adv: remove useless blank lines before and after brackets Antonio Quartulli
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

Different hashes have the same class key because they get
initialised with the same one. For this reason lockdep can create
false warning when they are used recursively.

Re-initialise the key for each hash after the invocation to hash_new()
to avoid this problem.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Tested-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
 net/batman-adv/originator.c        |  6 ++++++
 net/batman-adv/translation-table.c | 10 ++++++++++
 net/batman-adv/vis.c               |  6 ++++++
 3 files changed, 22 insertions(+)

diff --git a/net/batman-adv/originator.c b/net/batman-adv/originator.c
index 8c32cf1..109081c4 100644
--- a/net/batman-adv/originator.c
+++ b/net/batman-adv/originator.c
@@ -29,6 +29,9 @@
 #include "soft-interface.h"
 #include "bridge_loop_avoidance.h"
 
+/* hash class keys */
+static struct lock_class_key batadv_orig_hash_lock_class_key;
+
 static void batadv_purge_orig(struct work_struct *work);
 
 static void batadv_start_purge_timer(struct batadv_priv *bat_priv)
@@ -57,6 +60,9 @@ int batadv_originator_init(struct batadv_priv *bat_priv)
 	if (!bat_priv->orig_hash)
 		goto err;
 
+	batadv_hash_set_lock_class(bat_priv->orig_hash,
+				   &batadv_orig_hash_lock_class_key);
+
 	batadv_start_purge_timer(bat_priv);
 	return 0;
 
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 5f44232..c6fd0b7 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -29,6 +29,10 @@
 
 #include <linux/crc16.h>
 
+/* hash class keys */
+static struct lock_class_key batadv_tt_local_hash_lock_class_key;
+static struct lock_class_key batadv_tt_global_hash_lock_class_key;
+
 static void batadv_send_roam_adv(struct batadv_priv *bat_priv, uint8_t *client,
 				 struct batadv_orig_node *orig_node);
 static void batadv_tt_purge(struct work_struct *work);
@@ -235,6 +239,9 @@ static int batadv_tt_local_init(struct batadv_priv *bat_priv)
 	if (!bat_priv->tt.local_hash)
 		return -ENOMEM;
 
+	batadv_hash_set_lock_class(bat_priv->tt.local_hash,
+				   &batadv_tt_local_hash_lock_class_key);
+
 	return 0;
 }
 
@@ -694,6 +701,9 @@ static int batadv_tt_global_init(struct batadv_priv *bat_priv)
 	if (!bat_priv->tt.global_hash)
 		return -ENOMEM;
 
+	batadv_hash_set_lock_class(bat_priv->tt.global_hash,
+				   &batadv_tt_global_hash_lock_class_key);
+
 	return 0;
 }
 
diff --git a/net/batman-adv/vis.c b/net/batman-adv/vis.c
index 0f65a9d..60eb9b7 100644
--- a/net/batman-adv/vis.c
+++ b/net/batman-adv/vis.c
@@ -28,6 +28,9 @@
 
 #define BATADV_MAX_VIS_PACKET_SIZE 1000
 
+/* hash class keys */
+static struct lock_class_key batadv_vis_hash_lock_class_key;
+
 static void batadv_start_vis_timer(struct batadv_priv *bat_priv);
 
 /* free the info */
@@ -852,6 +855,9 @@ int batadv_vis_init(struct batadv_priv *bat_priv)
 		goto err;
 	}
 
+	batadv_hash_set_lock_class(bat_priv->vis.hash,
+				   &batadv_vis_hash_lock_class_key);
+
 	bat_priv->vis.my_info = kmalloc(BATADV_MAX_VIS_PACKET_SIZE, GFP_ATOMIC);
 	if (!bat_priv->vis.my_info)
 		goto err;
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 09/15] batman-adv: remove useless blank lines before and after brackets
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (7 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 08/15] batman-adv: Initialize lockdep class keys for hashes Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 10/15] batman-adv: remove useless NULL check Antonio Quartulli
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
 net/batman-adv/bat_iv_ogm.c            | 6 ------
 net/batman-adv/bridge_loop_avoidance.c | 4 ----
 net/batman-adv/debugfs.c               | 1 -
 net/batman-adv/originator.c            | 3 ---
 net/batman-adv/routing.c               | 4 ----
 net/batman-adv/send.c                  | 2 --
 net/batman-adv/translation-table.c     | 7 -------
 net/batman-adv/unicast.c               | 2 --
 8 files changed, 29 deletions(-)

diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index f2a3649..d90e925 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
@@ -183,7 +183,6 @@ static void batadv_iv_ogm_send_to_if(struct batadv_forw_packet *forw_packet,
 	/* adjust all flags and log packets */
 	while (batadv_iv_ogm_aggr_packet(buff_pos, forw_packet->packet_len,
 					 batadv_ogm_packet->tt_num_changes)) {
-
 		/* we might have aggregated direct link packets with an
 		 * ordinary base packet
 		 */
@@ -261,7 +260,6 @@ static void batadv_iv_ogm_emit(struct batadv_forw_packet *forw_packet)
 	 */
 	if ((directlink && (batadv_ogm_packet->header.ttl == 1)) ||
 	    (forw_packet->own && (forw_packet->if_incoming != primary_if))) {
-
 		/* FIXME: what about aggregated packets ? */
 		batadv_dbg(BATADV_DBG_BATMAN, bat_priv,
 			   "%s packet (originator %pM, seqno %u, TTL %d) on interface %s [%pM]\n",
@@ -325,7 +323,6 @@ batadv_iv_ogm_can_aggregate(const struct batadv_ogm_packet *new_bat_ogm_packet,
 	if (time_before(send_time, forw_packet->send_time) &&
 	    time_after_eq(aggregation_end_time, forw_packet->send_time) &&
 	    (aggregated_bytes <= BATADV_MAX_AGGREGATION_BYTES)) {
-
 		/* check aggregation compatibility
 		 * -> direct link packets are broadcasted on
 		 *    their interface only
@@ -815,7 +812,6 @@ static int batadv_iv_ogm_calc_tq(struct batadv_orig_node *orig_node,
 	rcu_read_lock();
 	hlist_for_each_entry_rcu(tmp_neigh_node, node,
 				 &orig_neigh_node->neigh_list, list) {
-
 		if (!batadv_compare_eth(tmp_neigh_node->addr,
 					orig_neigh_node->orig))
 			continue;
@@ -949,7 +945,6 @@ batadv_iv_ogm_update_seqnos(const struct ethhdr *ethhdr,
 	rcu_read_lock();
 	hlist_for_each_entry_rcu(tmp_neigh_node, node,
 				 &orig_node->neigh_list, list) {
-
 		is_duplicate |= batadv_test_bit(tmp_neigh_node->real_bits,
 						orig_node->last_real_seqno,
 						seqno);
@@ -1223,7 +1218,6 @@ static void batadv_iv_ogm_process(const struct ethhdr *ethhdr,
 
 	/* is single hop (direct) neighbor */
 	if (is_single_hop_neigh) {
-
 		/* mark direct link on incoming interface */
 		batadv_iv_ogm_forward(orig_node, ethhdr, batadv_ogm_packet,
 				      is_single_hop_neigh,
diff --git a/net/batman-adv/bridge_loop_avoidance.c b/net/batman-adv/bridge_loop_avoidance.c
index ec12c79..724adf0 100644
--- a/net/batman-adv/bridge_loop_avoidance.c
+++ b/net/batman-adv/bridge_loop_avoidance.c
@@ -235,7 +235,6 @@ batadv_bla_del_backbone_claims(struct batadv_backbone_gw *backbone_gw)
 		spin_lock_bh(list_lock);
 		hlist_for_each_entry_safe(claim, node, node_tmp,
 					  head, hash_entry) {
-
 			if (claim->backbone_gw != backbone_gw)
 				continue;
 
@@ -338,7 +337,6 @@ static void batadv_bla_send_claim(struct batadv_priv *bat_priv, uint8_t *mac,
 			   "bla_send_claim(): REQUEST of %pM to %pMon vid %d\n",
 			   ethhdr->h_source, ethhdr->h_dest, vid);
 		break;
-
 	}
 
 	if (vid != -1)
@@ -539,7 +537,6 @@ static void batadv_bla_send_announce(struct batadv_priv *bat_priv,
 
 	batadv_bla_send_claim(bat_priv, mac, backbone_gw->vid,
 			      BATADV_CLAIM_TYPE_ANNOUNCE);
-
 }
 
 /**
@@ -598,7 +595,6 @@ static void batadv_bla_add_claim(struct batadv_priv *bat_priv,
 
 		claim->backbone_gw->crc ^= crc16(0, claim->addr, ETH_ALEN);
 		batadv_backbone_gw_free_ref(claim->backbone_gw);
-
 	}
 	/* set (new) backbone gw */
 	atomic_inc(&backbone_gw->refcount);
diff --git a/net/batman-adv/debugfs.c b/net/batman-adv/debugfs.c
index 6f58ddd..0049837 100644
--- a/net/batman-adv/debugfs.c
+++ b/net/batman-adv/debugfs.c
@@ -164,7 +164,6 @@ static ssize_t batadv_log_read(struct file *file, char __user *buf,
 
 		buf++;
 		i++;
-
 	}
 
 	spin_unlock_bh(&debug_log->lock);
diff --git a/net/batman-adv/originator.c b/net/batman-adv/originator.c
index 109081c4..fa88b2b 100644
--- a/net/batman-adv/originator.c
+++ b/net/batman-adv/originator.c
@@ -184,7 +184,6 @@ void batadv_originator_free(struct batadv_priv *bat_priv)
 		spin_lock_bh(list_lock);
 		hlist_for_each_entry_safe(orig_node, node, node_tmp,
 					  head, hash_entry) {
-
 			hlist_del_rcu(node);
 			batadv_orig_node_free_ref(orig_node);
 		}
@@ -291,7 +290,6 @@ batadv_purge_orig_neighbors(struct batadv_priv *bat_priv,
 	/* for all neighbors towards this originator ... */
 	hlist_for_each_entry_safe(neigh_node, node, node_tmp,
 				  &orig_node->neigh_list, list) {
-
 		last_seen = neigh_node->last_seen;
 		if_incoming = neigh_node->if_incoming;
 
@@ -299,7 +297,6 @@ batadv_purge_orig_neighbors(struct batadv_priv *bat_priv,
 		    (if_incoming->if_status == BATADV_IF_INACTIVE) ||
 		    (if_incoming->if_status == BATADV_IF_NOT_IN_USE) ||
 		    (if_incoming->if_status == BATADV_IF_TO_BE_REMOVED)) {
-
 			if ((if_incoming->if_status == BATADV_IF_INACTIVE) ||
 			    (if_incoming->if_status == BATADV_IF_NOT_IN_USE) ||
 			    (if_incoming->if_status == BATADV_IF_TO_BE_REMOVED))
diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c
index 1aa1722..db89238 100644
--- a/net/batman-adv/routing.c
+++ b/net/batman-adv/routing.c
@@ -80,7 +80,6 @@ static void _batadv_update_route(struct batadv_priv *bat_priv,
 
 	/* route added */
 	} else if ((!curr_router) && (neigh_node)) {
-
 		batadv_dbg(BATADV_DBG_ROUTES, bat_priv,
 			   "Adding route towards: %pM (via %pM)\n",
 			   orig_node->orig, neigh_node->addr);
@@ -172,7 +171,6 @@ void batadv_bonding_candidate_add(struct batadv_orig_node *orig_node,
 	 */
 	hlist_for_each_entry_rcu(tmp_neigh_node, node,
 				 &orig_node->neigh_list, list) {
-
 		if (tmp_neigh_node == neigh_node)
 			continue;
 
@@ -836,7 +834,6 @@ static int batadv_route_unicast_packet(struct sk_buff *skb,
 	if (unicast_packet->header.packet_type == BATADV_UNICAST_FRAG &&
 	    batadv_frag_can_reassemble(skb,
 				       neigh_node->if_incoming->net_dev->mtu)) {
-
 		ret = batadv_frag_reassemble_skb(skb, bat_priv, &new_skb);
 
 		if (ret == NET_RX_DROP)
@@ -1103,7 +1100,6 @@ int batadv_recv_ucast_frag_packet(struct sk_buff *skb,
 
 	/* packet for me */
 	if (batadv_is_my_mac(unicast_packet->dest)) {
-
 		ret = batadv_frag_reassemble_skb(skb, bat_priv, &new_skb);
 
 		if (ret == NET_RX_DROP)
diff --git a/net/batman-adv/send.c b/net/batman-adv/send.c
index 4425af9..89810ce 100644
--- a/net/batman-adv/send.c
+++ b/net/batman-adv/send.c
@@ -330,7 +330,6 @@ batadv_purge_outstanding_packets(struct batadv_priv *bat_priv,
 	spin_lock_bh(&bat_priv->forw_bcast_list_lock);
 	hlist_for_each_entry_safe(forw_packet, tmp_node, safe_tmp_node,
 				  &bat_priv->forw_bcast_list, list) {
-
 		/* if purge_outstanding_packets() was called with an argument
 		 * we delete only packets belonging to the given interface
 		 */
@@ -357,7 +356,6 @@ batadv_purge_outstanding_packets(struct batadv_priv *bat_priv,
 	spin_lock_bh(&bat_priv->forw_bat_list_lock);
 	hlist_for_each_entry_safe(forw_packet, tmp_node, safe_tmp_node,
 				  &bat_priv->forw_bat_list, list) {
-
 		/* if purge_outstanding_packets() was called with an argument
 		 * we delete only packets belonging to the given interface
 		 */
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index c6fd0b7..d4b27b6 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -116,7 +116,6 @@ batadv_tt_global_hash_find(struct batadv_priv *bat_priv, const void *data)
 					       struct batadv_tt_global_entry,
 					       common);
 	return tt_global_entry;
-
 }
 
 static void
@@ -256,7 +255,6 @@ static void batadv_tt_global_free(struct batadv_priv *bat_priv,
 	batadv_hash_remove(bat_priv->tt.global_hash, batadv_compare_tt,
 			   batadv_choose_orig, tt_global->common.addr);
 	batadv_tt_global_entry_free_ref(tt_global);
-
 }
 
 void batadv_tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
@@ -652,7 +650,6 @@ static void batadv_tt_local_purge(struct batadv_priv *bat_priv)
 		batadv_tt_local_purge_list(bat_priv, head);
 		spin_unlock_bh(list_lock);
 	}
-
 }
 
 static void batadv_tt_local_table_free(struct batadv_priv *bat_priv)
@@ -1079,7 +1076,6 @@ batadv_tt_global_del_orig_list(struct batadv_tt_global_entry *tt_global_entry)
 		batadv_tt_orig_list_entry_free_ref(orig_entry);
 	}
 	spin_unlock_bh(&tt_global_entry->list_lock);
-
 }
 
 static void
@@ -1855,7 +1851,6 @@ out:
 	if (!ret)
 		kfree_skb(skb);
 	return ret;
-
 }
 
 static bool
@@ -2382,7 +2377,6 @@ static void batadv_tt_local_purge_pending_clients(struct batadv_priv *bat_priv)
 		}
 		spin_unlock_bh(list_lock);
 	}
-
 }
 
 static int batadv_tt_commit_changes(struct batadv_priv *bat_priv,
@@ -2579,7 +2573,6 @@ bool batadv_tt_local_client_is_roaming(struct batadv_priv *bat_priv,
 	batadv_tt_local_entry_free_ref(tt_local_entry);
 out:
 	return ret;
-
 }
 
 bool batadv_tt_add_temporary_global_entry(struct batadv_priv *bat_priv,
diff --git a/net/batman-adv/unicast.c b/net/batman-adv/unicast.c
index 10aff49..f56bccf 100644
--- a/net/batman-adv/unicast.c
+++ b/net/batman-adv/unicast.c
@@ -133,7 +133,6 @@ batadv_frag_search_packet(struct list_head *head,
 	is_head = !!(up->flags & BATADV_UNI_FRAG_HEAD);
 
 	list_for_each_entry(tfp, head, list) {
-
 		if (!tfp->skb)
 			continue;
 
@@ -162,7 +161,6 @@ void batadv_frag_list_free(struct list_head *head)
 	struct batadv_frag_packet_list_entry *pf, *tmp_pf;
 
 	if (!list_empty(head)) {
-
 		list_for_each_entry_safe(pf, tmp_pf, head, list) {
 			kfree_skb(pf->skb);
 			list_del(&pf->list);
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 10/15] batman-adv: remove useless NULL check
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (8 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 09/15] batman-adv: remove useless blank lines before and after brackets Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 11/15] batman-adv: don't compile the BLA switch if not requested Antonio Quartulli
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

debugfs_remove_recursive() checks whether its argument is not null
on its own, therefore it is possible to remove the external check.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
 net/batman-adv/debugfs.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/net/batman-adv/debugfs.c b/net/batman-adv/debugfs.c
index 0049837..5136d32 100644
--- a/net/batman-adv/debugfs.c
+++ b/net/batman-adv/debugfs.c
@@ -396,10 +396,8 @@ err:
 
 void batadv_debugfs_destroy(void)
 {
-	if (batadv_debugfs) {
-		debugfs_remove_recursive(batadv_debugfs);
-		batadv_debugfs = NULL;
-	}
+	debugfs_remove_recursive(batadv_debugfs);
+	batadv_debugfs = NULL;
 }
 
 int batadv_debugfs_add_meshif(struct net_device *dev)
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 11/15] batman-adv: don't compile the BLA switch if not requested
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (9 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 10/15] batman-adv: remove useless NULL check Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 12/15] batman-adv: use the const qualifier in hash functions Antonio Quartulli
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

When the Bridge Loop Avoidance component is not compiled-in, its boolean switch
should be not compiled as well. This patch surrounds the switch with a proper
ifdef.

This behaviour was introduced by 9fd6b0615b5499b270d39a92b8790e206cf75833
("batman-adv: add bridge loop avoidance compile option")

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Acked-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
 net/batman-adv/soft-interface.c | 2 ++
 net/batman-adv/types.h          | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
index f8cc142..57714f8 100644
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@ -480,7 +480,9 @@ struct net_device *batadv_softif_create(const char *name)
 
 	atomic_set(&bat_priv->aggregated_ogms, 1);
 	atomic_set(&bat_priv->bonding, 0);
+#ifdef CONFIG_BATMAN_ADV_BLA
 	atomic_set(&bat_priv->bridge_loop_avoidance, 0);
+#endif
 #ifdef CONFIG_BATMAN_ADV_DAT
 	atomic_set(&bat_priv->distributed_arp_table, 1);
 #endif
diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index ae9ac9a..030ce41 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -273,7 +273,9 @@ struct batadv_priv {
 	atomic_t bonding;		/* boolean */
 	atomic_t fragmentation;		/* boolean */
 	atomic_t ap_isolation;		/* boolean */
+#ifdef CONFIG_BATMAN_ADV_BLA
 	atomic_t bridge_loop_avoidance;	/* boolean */
+#endif
 #ifdef CONFIG_BATMAN_ADV_DAT
 	atomic_t distributed_arp_table;	/* boolean */
 #endif
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 12/15] batman-adv: use the const qualifier in hash functions
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (10 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 11/15] batman-adv: don't compile the BLA switch if not requested Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 13/15] batman-adv: fix typo in debug message Antonio Quartulli
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner, Antonio Quartulli

From: Antonio Quartulli <antonio@open-mesh.com>

The data argument in each hash function should carry the
"const" qualifier as it is never modified.

Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
---
 net/batman-adv/bridge_loop_avoidance.c | 2 +-
 net/batman-adv/hash.h                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/batman-adv/bridge_loop_avoidance.c b/net/batman-adv/bridge_loop_avoidance.c
index 724adf0..5e834c1 100644
--- a/net/batman-adv/bridge_loop_avoidance.c
+++ b/net/batman-adv/bridge_loop_avoidance.c
@@ -57,7 +57,7 @@ static inline uint32_t batadv_choose_claim(const void *data, uint32_t size)
 static inline uint32_t batadv_choose_backbone_gw(const void *data,
 						 uint32_t size)
 {
-	struct batadv_claim *claim = (struct batadv_claim *)data;
+	const struct batadv_claim *claim = (struct batadv_claim *)data;
 	uint32_t hash = 0;
 
 	hash = batadv_hash_bytes(hash, &claim->addr, sizeof(claim->addr));
diff --git a/net/batman-adv/hash.h b/net/batman-adv/hash.h
index e053339..ea02148 100644
--- a/net/batman-adv/hash.h
+++ b/net/batman-adv/hash.h
@@ -89,7 +89,7 @@ static inline void batadv_hash_delete(struct batadv_hashtable *hash,
  *
  *	Returns the new hash value.
  */
-static inline uint32_t batadv_hash_bytes(uint32_t hash, void *data,
+static inline uint32_t batadv_hash_bytes(uint32_t hash, const void *data,
 					 uint32_t size)
 {
 	const unsigned char *key = data;
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 13/15] batman-adv: fix typo in debug message
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (11 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 12/15] batman-adv: use the const qualifier in hash functions Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 14/15] batman-adv: remove unused variable from orig_node struct Antonio Quartulli
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

in bat_iv_ogm.c a debug message should print "tq" instead of "td"

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
 net/batman-adv/bat_iv_ogm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index d90e925..8f2de43 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
@@ -1028,7 +1028,7 @@ static void batadv_iv_ogm_process(const struct ethhdr *ethhdr,
 		is_single_hop_neigh = true;
 
 	batadv_dbg(BATADV_DBG_BATMAN, bat_priv,
-		   "Received BATMAN packet via NB: %pM, IF: %s [%pM] (from OG: %pM, via prev OG: %pM, seqno %u, ttvn %u, crc %#.4x, changes %u, td %d, TTL %d, V %d, IDF %d)\n",
+		   "Received BATMAN packet via NB: %pM, IF: %s [%pM] (from OG: %pM, via prev OG: %pM, seqno %u, ttvn %u, crc %#.4x, changes %u, tq %d, TTL %d, V %d, IDF %d)\n",
 		   ethhdr->h_source, if_incoming->net_dev->name,
 		   if_incoming->net_dev->dev_addr, batadv_ogm_packet->orig,
 		   batadv_ogm_packet->prev_sender,
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 14/15] batman-adv: remove unused variable from orig_node struct
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (12 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 13/15] batman-adv: fix typo in debug message Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 15/15] batman-adv: unbloat batadv_priv if debug is not enabled Antonio Quartulli
  2013-01-14  1:39 ` [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 David Miller
  15 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

From: Marek Lindner <lindner_marek@yahoo.de>

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
---
 net/batman-adv/types.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index 030ce41..441880a 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -119,7 +119,6 @@ struct batadv_orig_node {
 	spinlock_t ogm_cnt_lock;
 	/* bcast_seqno_lock protects bcast_bits, last_bcast_seqno */
 	spinlock_t bcast_seqno_lock;
-	spinlock_t tt_list_lock; /* protects tt_list */
 	atomic_t bond_candidates;
 	struct list_head bond_list;
 };
-- 
1.8.0.2


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

* [B.A.T.M.A.N.] [PATCH 15/15] batman-adv: unbloat batadv_priv if debug is not enabled
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (13 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 14/15] batman-adv: remove unused variable from orig_node struct Antonio Quartulli
@ 2013-01-13 23:41 ` Antonio Quartulli
  2013-01-14 17:36   ` Joe Perches
  2013-01-14  1:39 ` [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 David Miller
  15 siblings, 1 reply; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-13 23:41 UTC (permalink / raw)
  To: davem; +Cc: netdev, b.a.t.m.a.n, Marek Lindner

From: Marek Lindner <lindner_marek@yahoo.de>

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
---
 net/batman-adv/debugfs.c        | 1 -
 net/batman-adv/soft-interface.c | 2 ++
 net/batman-adv/types.h          | 4 ++++
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/net/batman-adv/debugfs.c b/net/batman-adv/debugfs.c
index 5136d32..55a9007 100644
--- a/net/batman-adv/debugfs.c
+++ b/net/batman-adv/debugfs.c
@@ -229,7 +229,6 @@ static void batadv_debug_log_cleanup(struct batadv_priv *bat_priv)
 #else /* CONFIG_BATMAN_ADV_DEBUG */
 static int batadv_debug_log_setup(struct batadv_priv *bat_priv)
 {
-	bat_priv->debug_log = NULL;
 	return 0;
 }
 
diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
index 57714f8..3d68166 100644
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@ -493,7 +493,9 @@ struct net_device *batadv_softif_create(const char *name)
 	atomic_set(&bat_priv->gw_bandwidth, 41);
 	atomic_set(&bat_priv->orig_interval, 1000);
 	atomic_set(&bat_priv->hop_penalty, 30);
+#ifdef CONFIG_BATMAN_ADV_DEBUG
 	atomic_set(&bat_priv->log_level, 0);
+#endif
 	atomic_set(&bat_priv->fragmentation, 1);
 	atomic_set(&bat_priv->bcast_queue_left, BATADV_BCAST_QUEUE_LEN);
 	atomic_set(&bat_priv->batman_queue_left, BATADV_BATMAN_QUEUE_LEN);
diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index 441880a..d8061ac 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -284,12 +284,16 @@ struct batadv_priv {
 	atomic_t gw_bandwidth;		/* gw bandwidth */
 	atomic_t orig_interval;		/* uint */
 	atomic_t hop_penalty;		/* uint */
+#ifdef CONFIG_BATMAN_ADV_DEBUG
 	atomic_t log_level;		/* uint */
+#endif
 	atomic_t bcast_seqno;
 	atomic_t bcast_queue_left;
 	atomic_t batman_queue_left;
 	char num_ifaces;
+#ifdef CONFIG_BATMAN_ADV_DEBUG
 	struct batadv_debug_log *debug_log;
+#endif
 	struct kobject *mesh_obj;
 	struct dentry *debug_dir;
 	struct hlist_head forw_bat_list;
-- 
1.8.0.2


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

* Re: [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14
  2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
                   ` (14 preceding siblings ...)
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 15/15] batman-adv: unbloat batadv_priv if debug is not enabled Antonio Quartulli
@ 2013-01-14  1:39 ` David Miller
  15 siblings, 0 replies; 19+ messages in thread
From: David Miller @ 2013-01-14  1:39 UTC (permalink / raw)
  To: ordex; +Cc: netdev, b.a.t.m.a.n

From: Antonio Quartulli <ordex@autistici.org>
Date: Mon, 14 Jan 2013 09:41:05 +1000

> this is our first changeset intended for net-next/linux-3.9.
> In this batch you have mostly code refactoring, style adjustments and output
> beautifications.
> The only new 'behaviours' are:
> - prevent the TT component from learning multicast mac addresses as they are not
>   really handled (yet)
> - initialise own lockdep class for each hash table in order to avoid false
>   positive from lockdep
...
>   git://git.open-mesh.org/linux-merge.git tags/batman-adv-for-davem

Pulled, thanks.

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

* Re: [B.A.T.M.A.N.] [PATCH 15/15] batman-adv: unbloat batadv_priv if debug is not enabled
  2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 15/15] batman-adv: unbloat batadv_priv if debug is not enabled Antonio Quartulli
@ 2013-01-14 17:36   ` Joe Perches
  2013-01-15  8:53     ` Antonio Quartulli
  0 siblings, 1 reply; 19+ messages in thread
From: Joe Perches @ 2013-01-14 17:36 UTC (permalink / raw)
  To: Antonio Quartulli; +Cc: netdev, b.a.t.m.a.n, Marek Lindner, davem

On Mon, 2013-01-14 at 09:41 +1000, Antonio Quartulli wrote:
> diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
[]
> @@ -284,12 +284,16 @@ struct batadv_priv {
>  	atomic_t gw_bandwidth;		/* gw bandwidth */
>  	atomic_t orig_interval;		/* uint */
>  	atomic_t hop_penalty;		/* uint */
> +#ifdef CONFIG_BATMAN_ADV_DEBUG
>  	atomic_t log_level;		/* uint */
> +#endif
>  	atomic_t bcast_seqno;
>  	atomic_t bcast_queue_left;
>  	atomic_t batman_queue_left;
>  	char num_ifaces;
> +#ifdef CONFIG_BATMAN_ADV_DEBUG
>  	struct batadv_debug_log *debug_log;
> +#endif
>  	struct kobject *mesh_obj;
>  	struct dentry *debug_dir;
>  	struct hlist_head forw_bat_list;

How about moving one of these so
there's only one #ifdef block.



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

* Re: [B.A.T.M.A.N.] [PATCH 15/15] batman-adv: unbloat batadv_priv if debug is not enabled
  2013-01-14 17:36   ` Joe Perches
@ 2013-01-15  8:53     ` Antonio Quartulli
  0 siblings, 0 replies; 19+ messages in thread
From: Antonio Quartulli @ 2013-01-15  8:53 UTC (permalink / raw)
  To: Joe Perches; +Cc: netdev, b.a.t.m.a.n, Marek Lindner, davem

[-- Attachment #1: Type: text/plain, Size: 1220 bytes --]

Hi Joe,

On Mon, Jan 14, 2013 at 09:36:40 -0800, Joe Perches wrote:
> On Mon, 2013-01-14 at 09:41 +1000, Antonio Quartulli wrote:
> > diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
> []
> > @@ -284,12 +284,16 @@ struct batadv_priv {
> >  	atomic_t gw_bandwidth;		/* gw bandwidth */
> >  	atomic_t orig_interval;		/* uint */
> >  	atomic_t hop_penalty;		/* uint */
> > +#ifdef CONFIG_BATMAN_ADV_DEBUG
> >  	atomic_t log_level;		/* uint */
> > +#endif
> >  	atomic_t bcast_seqno;
> >  	atomic_t bcast_queue_left;
> >  	atomic_t batman_queue_left;
> >  	char num_ifaces;
> > +#ifdef CONFIG_BATMAN_ADV_DEBUG
> >  	struct batadv_debug_log *debug_log;
> > +#endif
> >  	struct kobject *mesh_obj;
> >  	struct dentry *debug_dir;
> >  	struct hlist_head forw_bat_list;
> 
> How about moving one of these so
> there's only one #ifdef block.

Yeah. This is the main struct and actually it still needs some more housekeeping
(and some love).
It was initially sorted in another way, but as soon as we added new features it
lost its shape.

We will take care of that.

Thanks a lot!
Cheers,


-- 
Antonio Quartulli

..each of us alone is worth nothing..
Ernesto "Che" Guevara

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

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

end of thread, other threads:[~2013-01-15  8:53 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-13 23:41 [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 01/15] batman-adv: use per_cpu_add helper Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 02/15] batman-adv: Do not add multicast MAC addresses to translation table Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 03/15] batman-adv: reduce local TT entry timeout to 10 minutes Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 04/15] batman-adv: improve local translation table output Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 05/15] batman-adv: print the CRC together with the translation tables Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 06/15] batman-adv: unify and properly print hex values Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 07/15] batman-adv: remove useless assignment in tt_local_add() Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 08/15] batman-adv: Initialize lockdep class keys for hashes Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 09/15] batman-adv: remove useless blank lines before and after brackets Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 10/15] batman-adv: remove useless NULL check Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 11/15] batman-adv: don't compile the BLA switch if not requested Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 12/15] batman-adv: use the const qualifier in hash functions Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 13/15] batman-adv: fix typo in debug message Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 14/15] batman-adv: remove unused variable from orig_node struct Antonio Quartulli
2013-01-13 23:41 ` [B.A.T.M.A.N.] [PATCH 15/15] batman-adv: unbloat batadv_priv if debug is not enabled Antonio Quartulli
2013-01-14 17:36   ` Joe Perches
2013-01-15  8:53     ` Antonio Quartulli
2013-01-14  1:39 ` [B.A.T.M.A.N.] pull request: batman-adv 2013-01-14 David Miller

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).