From: mesh-node <mesh-node@mesh-node1.(none)>
Right now, there is no easy/intuitive way to find out whether a node might have vanished. This commit adds the time when a node was last seen to the originator table output, so that a common user is able to tell whether a node might have gone without having to wait PURGE_TIMEOUT seconds until that node gets "garbe-collected".
Signed-off-by: Linus Lüssing linus.luessing@web.de --- originator.c | 22 +++++++++++++++------- 1 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/originator.c b/originator.c index c28c4f5..5343ab2 100644 --- a/originator.c +++ b/originator.c @@ -296,6 +296,8 @@ int orig_seq_print_text(struct seq_file *seq, void *offset) struct orig_node *orig_node; struct neigh_node *neigh_node; int batman_count = 0; + int last_seen_secs; + int last_seen_msecs; unsigned long flags; char orig_str[ETH_STR_LEN], router_str[ETH_STR_LEN];
@@ -312,12 +314,13 @@ int orig_seq_print_text(struct seq_file *seq, void *offset) }
rcu_read_lock(); - seq_printf(seq, " %-14s (%s/%i) %17s [%10s]: %20s " - "... [B.A.T.M.A.N. adv %s%s, MainIF/MAC: %s/%s (%s)]\n", - "Originator", "#", TQ_MAX_VALUE, "Nexthop", "outgoingIF", - "Potential nexthops", SOURCE_VERSION, REVISION_VERSION_STR, + seq_printf(seq, "[B.A.T.M.A.N. adv %s%s, MainIF/MAC: %s/%s (%s)]\n", + SOURCE_VERSION, REVISION_VERSION_STR, bat_priv->primary_if->dev, bat_priv->primary_if->addr_str, net_dev->name); + seq_printf(seq, " %-15s %s (%s/%i) %17s [%10s]: %20s ...\n", + "Originator", "last-seen", "#", TQ_MAX_VALUE, "Nexthop", + "outgoingIF", "Potential nexthops"); rcu_read_unlock();
spin_lock_irqsave(&orig_hash_lock, flags); @@ -334,9 +337,14 @@ int orig_seq_print_text(struct seq_file *seq, void *offset)
addr_to_string(orig_str, orig_node->orig); addr_to_string(router_str, orig_node->router->addr); - - seq_printf(seq, "%-17s (%3i) %17s [%10s]:", - orig_str, orig_node->router->tq_avg, router_str, + last_seen_secs = jiffies_to_msecs(jiffies - + orig_node->last_valid) / 1000; + last_seen_msecs = jiffies_to_msecs(jiffies - + orig_node->last_valid) % 1000; + + seq_printf(seq, "%-17s %4i.%03is (%3i) %17s [%10s]:", + orig_str, last_seen_secs, last_seen_msecs, + orig_node->router->tq_avg, router_str, orig_node->router->if_incoming->dev);
list_for_each_entry(neigh_node, &orig_node->neigh_list, list) {
Linus Lüssing wrote:
From: mesh-node <mesh-node@mesh-node1.(none)>
I think the person who applies this should remove the From and the next empty line... or do you have a secret dwarf named mesh-node who works for you? :D
Right now, there is no easy/intuitive way to find out whether a node might have vanished. This commit adds the time when a node was last seen to the originator table output, so that a common user is able to tell whether a node might have gone without having to wait PURGE_TIMEOUT seconds until that node gets "garbe-collected".
The rest looks good, but was a little bit irritated about the change of the table header (which makes sense to split it in two lines, but didn't expected that this patch does that).
Best regards, Sven
On Wed, Jun 30, 2010 at 12:21:08PM +0200, Sven Eckelmann wrote:
Linus Lüssing wrote:
From: mesh-node <mesh-node@mesh-node1.(none)>
I think the person who applies this should remove the From and the next empty line... or do you have a secret dwarf named mesh-node who works for you? :D
Ah no, I wanted to keep this a secret... I also just noticed this when I reread my post here, didn't notice the wrong From in the patch file. Hope the commiter doesn't mind changing that to not make other kernel devs jealous about my dwarf? :)
Right now, there is no easy/intuitive way to find out whether a node might have vanished. This commit adds the time when a node was last seen to the originator table output, so that a common user is able to tell whether a node might have gone without having to wait PURGE_TIMEOUT seconds until that node gets "garbe-collected".
The rest looks good, but was a little bit irritated about the change of the table header (which makes sense to split it in two lines, but didn't expected that this patch does that).
Oki doki, just did that in the same patch because the extra info made the line a little bit long. Is adding a line like this fine?
"It also puts the the versioning information in an extra line, as the first one of this debug output would otherwise get too long."
Best regards, Sven
Thanks for reviewing, Sven
Cheers, Linus
On Wednesday 30 June 2010 05:16:21 Linus Lüssing wrote:
Right now, there is no easy/intuitive way to find out whether a node might have vanished. This commit adds the time when a node was last seen to the originator table output, so that a common user is able to tell whether a node might have gone without having to wait PURGE_TIMEOUT seconds until that node gets "garbe-collected".
I applied your patch in revision 1731 with the commit message modifications you suggested.
Thanks, Marek
b.a.t.m.a.n@lists.open-mesh.org