linux/net/batman-adv
Antonio Quartulli cc47f66e6b batman-adv: improved roaming mechanism
With the current client announcement implementation, in case of roaming,
an update is triggered on the new AP serving the client. At that point
the new information is spread around by means of the OGM broadcasting
mechanism. Until this operations is not executed, no node is able to
correctly route traffic towards the client. This obviously causes packet
drops and introduces a delay in the time needed by the client to recover
its connections.

A new packet type called ROAMING_ADVERTISEMENT is added to account this
issue.

This message is sent in case of roaming from the new AP serving the
client to the old one and will contain the client MAC address. In this
way an out-of-OGM update is immediately committed, so that the old node
can update its global translation table. Traffic reaching this node will
then be redirected to the correct destination utilising the fresher
information. Thus reducing the packet drops and the connection recovery
delay.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
2011-06-20 11:37:27 +02:00
..
aggregation.c batman-adv: improved client announcement mechanism 2011-06-20 11:37:24 +02:00
aggregation.h batman-adv: improved client announcement mechanism 2011-06-20 11:37:24 +02:00
bat_debugfs.c batman-adv: Calculate sizeof using variable insead of types 2011-05-30 07:39:33 +02:00
bat_debugfs.h batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
bat_sysfs.c batman-adv: improved client announcement mechanism 2011-06-20 11:37:24 +02:00
bat_sysfs.h batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
bitarray.c batman-adv: Reduce usage of char 2011-06-20 11:37:18 +02:00
bitarray.h batman-adv: Reduce usage of char 2011-06-20 11:37:18 +02:00
gateway_client.c batman-adv: Reduce usage of char 2011-06-20 11:37:18 +02:00
gateway_client.h batman-adv: concentrate all curr_gw related rcu operations in select/deselect functions 2011-04-17 21:11:01 +02:00
gateway_common.c batman-adv: Reduce usage of char 2011-06-20 11:37:18 +02:00
gateway_common.h batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
hard-interface.c batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
hard-interface.h batman-adv: Use enums for related constants 2011-06-09 20:40:38 +02:00
hash.c batman-adv: Calculate sizeof using variable insead of types 2011-05-30 07:39:33 +02:00
hash.h batman-adv: Add const type qualifier for pointers 2011-05-30 07:39:31 +02:00
icmp_socket.c batman-adv: Calculate sizeof using variable insead of types 2011-05-30 07:39:33 +02:00
icmp_socket.h batman-adv: Remove duplicate types.h inclusions 2011-02-11 23:30:29 +01:00
Kconfig batman-adv: improved client announcement mechanism 2011-06-20 11:37:24 +02:00
main.c batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
main.h batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
Makefile batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00
originator.c batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
originator.h batman-adv: Move compare_orig to originator.c 2011-06-20 10:38:55 +02:00
packet.h batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
ring_buffer.c batman-adv: Add const type qualifier for pointers 2011-05-30 07:39:31 +02:00
ring_buffer.h batman-adv: Add const type qualifier for pointers 2011-05-30 07:39:31 +02:00
routing.c batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
routing.h batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
send.c batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
send.h batman-adv: improved client announcement mechanism 2011-06-20 11:37:24 +02:00
soft-interface.c batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
soft-interface.h batman-adv: Keep interface_tx as local function 2011-06-20 10:38:59 +02:00
translation-table.c batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
translation-table.h batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
types.h batman-adv: improved roaming mechanism 2011-06-20 11:37:27 +02:00
unicast.c batman-adv: improved client announcement mechanism 2011-06-20 11:37:24 +02:00
unicast.h batman-adv: Calculate sizeof using variable insead of types 2011-05-30 07:39:33 +02:00
vis.c batman-adv: move smallest_signed_int(), seq_before() and seq_after() into main.h 2011-05-30 07:39:35 +02:00
vis.h batman-adv: Update copyright years 2011-01-31 14:57:12 +01:00