Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 256159
b: refs/heads/master
c: a7f9bec
h: refs/heads/master
i:
  256157: afaec93
  256155: b160a9e
  256151: 9c3e4ad
  256143: 5156b8a
  256127: 1707a06
v: v3
  • Loading branch information
Antonio Quartulli authored and Marek Lindner committed Jul 7, 2011
1 parent fe8829d commit 49a04fb
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 980d55b20a730cbabc74cdc57be9c47713dba57b
refs/heads/master: a7f9becb7d27008af0f72f8449c110276b0df37d
12 changes: 12 additions & 0 deletions trunk/net/batman-adv/routing.c
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,18 @@ static void update_transtable(struct bat_priv *bat_priv,
* to recompute it to spot any possible inconsistency
* in the global table */
orig_node->tt_crc = tt_global_crc(bat_priv, orig_node);

/* The ttvn alone is not enough to guarantee consistency
* because a single value could repesent different states
* (due to the wrap around). Thus a node has to check whether
* the resulting table (after applying the changes) is still
* consistent or not. E.g. a node could disconnect while its
* ttvn is X and reconnect on ttvn = X + TTVN_MAX: in this case
* checking the CRC value is mandatory to detect the
* inconsistency */
if (orig_node->tt_crc != tt_crc)
goto request_table;

/* Roaming phase is over: tables are in sync again. I can
* unset the flag */
orig_node->tt_poss_change = false;
Expand Down

0 comments on commit 49a04fb

Please sign in to comment.