aboutsummaryrefslogtreecommitdiff
path: root/net/batman-adv/send.c
diff options
context:
space:
mode:
authorAntonio Quartulli <ordex@autistici.org>2011-07-07 01:40:58 +0200
committerMarek Lindner <lindner_marek@yahoo.de>2011-07-07 18:49:26 +0200
commit058d0e26989e3da2fa031f551235f6ff1e0bc27c (patch)
treef39ce9771166b9a110a38c65621eb2128c152068 /net/batman-adv/send.c
parentc8c991bf2076d711f14ff9063db306fd522ddcd4 (diff)
batman-adv: keep local table consistency for further TT_RESPONSE
To keep transtable consistency among all the nodes, an originator must not send not yet announced clients within a full table TT_RESPONSE. Instead, deleted client have to be kept in the table in order to be sent within an immediate TT_RESPONSE. In this way all the nodes in the network will always provide the same response for the same request. All the modification are committed at the next ttvn increment event. Signed-off-by: Antonio Quartulli <ordex@autistici.org> Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Diffstat (limited to 'net/batman-adv/send.c')
-rw-r--r--net/batman-adv/send.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/batman-adv/send.c b/net/batman-adv/send.c
index 4b8e11bc14f..58d14472068 100644
--- a/net/batman-adv/send.c
+++ b/net/batman-adv/send.c
@@ -309,10 +309,8 @@ void schedule_own_packet(struct hard_iface *hard_iface)
if (hard_iface == primary_if) {
/* if at least one change happened */
if (atomic_read(&bat_priv->tt_local_changes) > 0) {
+ tt_commit_changes(bat_priv);
prepare_packet_buffer(bat_priv, hard_iface);
- /* Increment the TTVN only once per OGM interval */
- atomic_inc(&bat_priv->ttvn);
- bat_priv->tt_poss_change = false;
}
/* if the changes have been sent enough times */