linux/net/batman-adv
Antonio Quartulli 30cfd02b60 batman-adv: detect not yet announced clients
With the current TT mechanism a new client joining the network is not
immediately able to communicate with other hosts because its MAC address has not
been announced yet. This situation holds until the first OGM containing its
joining event will be spread over the mesh network.

This behaviour can be acceptable in networks where the originator interval is a
small value (e.g. 1sec) but if that value is set to an higher time (e.g. 5secs)
the client could suffer from several malfunctions like DHCP client timeouts,
etc.

This patch adds an early detection mechanism that makes nodes in the network
able to recognise "not yet announced clients" by means of the broadcast packets
they emitted on connection (e.g. ARP or DHCP request). The added client will
then be confirmed upon receiving the OGM claiming it or purged if such OGM
is not received within a fixed amount of time.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
2012-08-23 14:20:22 +02:00
..
bat_algo.h batman-adv: Reformat multiline comments to consistent style 2012-06-20 22:15:33 +02:00
bat_iv_ogm.c batman-adv: Reduce accumulated length of simple statements 2012-08-23 14:20:21 +02:00
bitarray.c batman-adv: Prefix types structs with batadv_ 2012-07-01 22:47:21 +02:00
bitarray.h batman-adv: Prefix main defines with BATADV_ 2012-06-28 08:45:05 +02:00
bridge_loop_avoidance.c batman-adv: Reduce accumulated length of simple statements 2012-08-23 14:20:21 +02:00
bridge_loop_avoidance.h batman-adv: Add the backbone gateway list to debugfs 2012-08-23 14:02:41 +02:00
debugfs.c batman-adv: Add the backbone gateway list to debugfs 2012-08-23 14:02:41 +02:00
debugfs.h batman-adv: Remove bat_ prefix from bat_{debugfs, sysfs}.{c, h} 2012-07-01 22:47:22 +02:00
gateway_client.c batman-adv: Reduce accumulated length of simple statements 2012-08-23 14:20:21 +02:00
gateway_client.h batman-adv: Prefix types structs with batadv_ 2012-07-01 22:47:21 +02:00
gateway_common.c batman-adv: Prefix types structs with batadv_ 2012-07-01 22:47:21 +02:00
gateway_common.h batman-adv: Prefix gateway enum with BATADV_ 2012-07-01 22:47:18 +02:00
hard-interface.c batman-adv: Split batadv_priv in sub-structures for features 2012-08-23 14:20:13 +02:00
hard-interface.h batman-adv: Prefix types structs with batadv_ 2012-07-01 22:47:21 +02:00
hash.c batman-adv: Remove space before semicolon 2012-07-01 22:47:23 +02:00
hash.h net: Fix (nearly-)kernel-doc comments for various functions 2012-07-10 23:13:45 -07:00
icmp_socket.c batman-adv: Prefix types structs with batadv_ 2012-07-01 22:47:21 +02:00
icmp_socket.h batman-adv: Prefix types structs with batadv_ 2012-07-01 22:47:21 +02:00
Kconfig batman-adv: add bridge loop avoidance compile option 2012-04-11 14:29:00 +02:00
main.c batman-adv: Split batadv_priv in sub-structures for features 2012-08-23 14:20:13 +02:00
main.h batman-adv: detect not yet announced clients 2012-08-23 14:20:22 +02:00
Makefile batman-adv: Remove bat_ prefix from bat_{debugfs, sysfs}.{c, h} 2012-07-01 22:47:22 +02:00
originator.c batman-adv: Fix alignment after opened parentheses 2012-07-01 22:47:23 +02:00
originator.h batman-adv: Prefix types structs with batadv_ 2012-07-01 22:47:21 +02:00
packet.h batman-adv: detect not yet announced clients 2012-08-23 14:20:22 +02:00
ring_buffer.c batman-adv: Prefix main defines with BATADV_ 2012-06-28 08:45:05 +02:00
ring_buffer.h batman-adv: Reformat multiline comments to consistent style 2012-06-20 22:15:33 +02:00
routing.c batman-adv: Reduce accumulated length of simple statements 2012-08-23 14:20:21 +02:00
routing.h batman-adv: Prefix types structs with batadv_ 2012-07-01 22:47:21 +02:00
send.c batman-adv: Don't break statements after assignment operator 2012-08-23 14:20:20 +02:00
send.h batman-adv: Prefix types structs with batadv_ 2012-07-01 22:47:21 +02:00
soft-interface.c batman-adv: Don't break statements after assignment operator 2012-08-23 14:20:20 +02:00
soft-interface.h batman-adv: Prefix types structs with batadv_ 2012-07-01 22:47:21 +02:00
sysfs.c batman-adv: Remove bat_ prefix from bat_{debugfs, sysfs}.{c, h} 2012-07-01 22:47:22 +02:00
sysfs.h batman-adv: Remove bat_ prefix from bat_{debugfs, sysfs}.{c, h} 2012-07-01 22:47:22 +02:00
translation-table.c batman-adv: detect not yet announced clients 2012-08-23 14:20:22 +02:00
translation-table.h batman-adv: detect not yet announced clients 2012-08-23 14:20:22 +02:00
types.h batman-adv: detect not yet announced clients 2012-08-23 14:20:22 +02:00
unicast.c batman-adv: Reduce accumulated length of simple statements 2012-08-23 14:20:21 +02:00
unicast.h batman-adv: Prefix types structs with batadv_ 2012-07-01 22:47:21 +02:00
vis.c batman-adv: Reduce accumulated length of simple statements 2012-08-23 14:20:21 +02:00
vis.h batman-adv: fix typos in comments 2012-08-23 14:02:45 +02:00