Thread (5 messages) 5 messages, 3 authors, 2012-02-27

[B.A.T.M.A.N.] [PATCH 2/2] batman-adv: skip the window protection test when the originator has no neighbours

From: Antonio Quartulli <hidden>
Date: 2012-02-26 14:39:42
Subsystem: the rest · Maintainer: Linus Torvalds

When we receive an OGM from from a node for the first time, the last_real_seqno
field of the orig_node structure has not been initialised yet. The value of this
field is used to compute the current ogm-seqno window and therefore the
protection mechanism will probably drop the packet due to an out-of-window error.
To avoid this situation this patch adds a check to skip the window protection
mechanism if no neighbour nodes have already been added. When the first
neighbour node is added, the last_real_seqno field is initialised too.

Reported-by: Marek Lindner <redacted>
Signed-off-by: Antonio Quartulli <redacted>
---
 bat_iv_ogm.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/bat_iv_ogm.c b/bat_iv_ogm.c
index c42e030..d9195b3 100644
--- a/bat_iv_ogm.c
+++ b/bat_iv_ogm.c
@@ -869,7 +869,8 @@ static int bat_iv_ogm_update_seqnos(const struct ethhdr *ethhdr,
 	seq_diff = batman_ogm_packet->seqno - orig_node->last_real_seqno;
 
 	/* signalize caller that the packet is to be dropped. */
-	if (window_protected(bat_priv, seq_diff,
+	if (!hlist_empty(&orig_node->neigh_list) &&
+	    window_protected(bat_priv, seq_diff,
 			     &orig_node->batman_seqno_reset))
 		goto out;
 
-- 
1.7.3.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help