Repository : ssh://git@open-mesh.org/doc
On branches: backup-redmine/2017-07-13,master
commit 7f7001a3c3bac178d26e41d6e30f94c154706f02 Author: Antonio Quartulli a@unstable.cc Date: Thu May 19 11:19:08 2011 +0000
doc: batman-adv/Client-roaming
7f7001a3c3bac178d26e41d6e30f94c154706f02 batman-adv/Client-roaming.textile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/batman-adv/Client-roaming.textile b/batman-adv/Client-roaming.textile index 2e0d0694..a67f9c13 100644 --- a/batman-adv/Client-roaming.textile +++ b/batman-adv/Client-roaming.textile @@ -28,7 +28,7 @@ As described [[Client-announcement|here]] each node computes its local tt_crc va In particular, a node receiving a Roaming-Advertisement message will track this change as a simple removal and will send it within the next OGM. The receiver node has to **do not delete** this client immediately, otherwise it will lose any route towards it. So the idea is to keep the client entry in the nodes global tables. By the way this solution could lead to an inconsistent state: if client C roams from A to B, A won't have C in its local table any more, but nodes keeping this entry pointing to A will then compute a wrong (global) tt_crc value for A (they are using C in the computation).
-To solve this issue, a new flags field has been added to the tt_change and the tt_global_entry structure. In particular, every **del** change generated by a roaming event will have the TT_CHANGE_ROAM bit set so that receiving node can set the corresponding TT_GLOBAL_ROAM flag in the tt_global_entry it is going to modify/create. This flag will slightly modify the tt_crc computation for global tables: entry with TT_GLOBAL_ROAM set will not be used for the computation to reflect the state of the originator's local table keeping a valid route to clients at the same time. +To solve this issue, a new flags field has been added to the tt_change and the tt_global_entry structure. In particular, every **delete** change generated by a roaming event will have the TT_CHANGE_ROAM bit set so that receiving node can set the corresponding TT_GLOBAL_ROAM flag in the tt_global_entry it is going to modify/create. This flag will slightly modify the tt_crc computation for global tables: entry with TT_GLOBAL_ROAM set will not be used for the computation to reflect the state of the originator's local table keeping a valid route to clients at the same time.
The TT_GLOBAL_ROAM in the tt_global_entry structure will be reset to 0 as soon as a new OGM containing an **add** event for that client is received.