Netdev List
 help / color / mirror / Atom feed
From: Antonio Quartulli <ordex@autistici.org>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, b.a.t.m.a.n@lists.open-mesh.org,
	Matthias Schiffer <mschiffer@universe-factory.net>,
	Sven Eckelmann <sven@narfation.org>,
	Antonio Quartulli <ordex@autistici.org>
Subject: [PATCH 15/19] batman-adv: fix visualization output without neighbors on the primary interface
Date: Mon, 18 Jun 2012 22:39:19 +0200	[thread overview]
Message-ID: <1340051963-14836-16-git-send-email-ordex@autistici.org> (raw)
In-Reply-To: <1340051963-14836-1-git-send-email-ordex@autistici.org>

From: Matthias Schiffer <mschiffer@universe-factory.net>

The primary entry and the corresponding secondary entries are missing when there
are no neighbors on the primary interface. This also causes the TT entries to
miss and makes nodes with multiply secondary interface fall apart since there
is no way to see they are related without a primary entry.

Fix this by always emitting a primary entry.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
---
 net/batman-adv/vis.c |   21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/net/batman-adv/vis.c b/net/batman-adv/vis.c
index 411c0e1..01d5da5 100644
--- a/net/batman-adv/vis.c
+++ b/net/batman-adv/vis.c
@@ -207,7 +207,6 @@ int vis_seq_print_text(struct seq_file *seq, void *offset)
 	int vis_server = atomic_read(&bat_priv->vis_mode);
 	size_t buff_pos, buf_size;
 	char *buff;
-	int compare;
 
 	primary_if = primary_if_get_selected(bat_priv);
 	if (!primary_if)
@@ -228,14 +227,18 @@ int vis_seq_print_text(struct seq_file *seq, void *offset)
 			entries = (struct vis_info_entry *)
 				((char *)packet + sizeof(*packet));
 
+			vis_data_insert_interface(packet->vis_orig,
+						  &vis_if_list, true);
+
 			for (j = 0; j < packet->entries; j++) {
 				if (entries[j].quality == 0)
 					continue;
-				compare =
-				 compare_eth(entries[j].src, packet->vis_orig);
+				if (compare_eth(entries[j].src,
+						packet->vis_orig))
+					continue;
 				vis_data_insert_interface(entries[j].src,
 							  &vis_if_list,
-							  compare);
+							  false);
 			}
 
 			hlist_for_each_entry(entry, pos, &vis_if_list, list) {
@@ -276,14 +279,18 @@ int vis_seq_print_text(struct seq_file *seq, void *offset)
 			entries = (struct vis_info_entry *)
 				((char *)packet + sizeof(*packet));
 
+			vis_data_insert_interface(packet->vis_orig,
+						  &vis_if_list, true);
+
 			for (j = 0; j < packet->entries; j++) {
 				if (entries[j].quality == 0)
 					continue;
-				compare =
-				 compare_eth(entries[j].src, packet->vis_orig);
+				if (compare_eth(entries[j].src,
+						packet->vis_orig))
+					continue;
 				vis_data_insert_interface(entries[j].src,
 							  &vis_if_list,
-							  compare);
+							  false);
 			}
 
 			hlist_for_each_entry(entry, pos, &vis_if_list, list) {
-- 
1.7.9.4

  parent reply	other threads:[~2012-06-18 20:39 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-18 20:39 pull request: batman-adv 2012-06-18 Antonio Quartulli
     [not found] ` <1340051963-14836-1-git-send-email-ordex-GaUfNO9RBHfsrOwW+9ziJQ@public.gmane.org>
2012-06-18 20:39   ` [PATCH 01/19] batman-adv: update internal version number Antonio Quartulli
2012-06-18 20:39   ` [PATCH 02/19] batman-adv: fix skb->data assignment Antonio Quartulli
2012-06-18 20:39   ` [PATCH 04/19] batman-adv: convert bat_priv->tt_crc from atomic_t to uint16_t Antonio Quartulli
2012-06-18 20:39 ` [PATCH 03/19] batman-adv: Initialize lockdep class keys for hashes Antonio Quartulli
2012-06-18 20:39 ` [PATCH 05/19] batman-adv: Add get_ethtool_stats() support Antonio Quartulli
2012-06-18 20:39 ` [PATCH 06/19] batman-adv: avoid characters requiring shell escapes in protocol names Antonio Quartulli
2012-06-18 20:39 ` [PATCH 07/19] batman-adv: ignore trailing CR when comparing " Antonio Quartulli
2012-06-18 20:39 ` [PATCH 08/19] batman-adv: return added entries instead of number of possibly added entries Antonio Quartulli
2012-06-18 20:39 ` [PATCH 09/19] batman-adv: get rid of pointless cast in memcpy() Antonio Quartulli
2012-06-18 20:39 ` [PATCH 10/19] batman-adv: trivial endianness annotations Antonio Quartulli
2012-06-18 20:39 ` [PATCH 11/19] batman-adv: keep batman_ogm_packet ->seqno net-endian all along Antonio Quartulli
2012-06-18 20:39 ` [PATCH 12/19] batman-adv: Return error codes instead of -1 on failures Antonio Quartulli
2012-06-18 20:39 ` [PATCH 13/19] batman-adv: don't bother flipping ->tt_data Antonio Quartulli
2012-06-18 20:39 ` [PATCH 14/19] batman-adv: don't bother flipping ->tt_crc Antonio Quartulli
2012-06-18 20:39 ` Antonio Quartulli [this message]
2012-06-18 20:39 ` [PATCH 16/19] batman-adv: turn tt commit code into routing protocol agnostic API Antonio Quartulli
2012-06-18 20:39 ` [PATCH 17/19] batman-adv: use DBG_ALL in log_level sysfs definition Antonio Quartulli
2012-06-18 20:39 ` [PATCH 18/19] batman-adv: fix locking in hash_add() Antonio Quartulli
2012-06-18 20:39 ` [PATCH 19/19] batman-adv: only store changed gw_bandwidth values Antonio Quartulli
2012-06-19  3:28 ` pull request: batman-adv 2012-06-18 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=1340051963-14836-16-git-send-email-ordex@autistici.org \
    --to=ordex@autistici.org \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    --cc=davem@davemloft.net \
    --cc=mschiffer@universe-factory.net \
    --cc=netdev@vger.kernel.org \
    --cc=sven@narfation.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