summaryrefslogtreecommitdiff
path: root/net/batman-adv/translation-table.h
diff options
context:
space:
mode:
authorAntonio Quartulli <ordex@autistici.org>2012-07-06 01:38:29 +0400
committerAntonio Quartulli <ordex@autistici.org>2012-08-23 16:20:22 +0400
commit30cfd02b60e1cb16f5effb0a01f826c5bb7e4c59 (patch)
treedf702e35ab213c98ae4090343e28c1afbd17e207 /net/batman-adv/translation-table.h
parentc67893d17a6bbd16328a1ee38ab0cb460511014a (diff)
downloadlinux-30cfd02b60e1cb16f5effb0a01f826c5bb7e4c59.tar.xz
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>
Diffstat (limited to 'net/batman-adv/translation-table.h')
-rw-r--r--net/batman-adv/translation-table.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/batman-adv/translation-table.h b/net/batman-adv/translation-table.h
index ffa87355096b..811fffd4760c 100644
--- a/net/batman-adv/translation-table.h
+++ b/net/batman-adv/translation-table.h
@@ -59,6 +59,8 @@ int batadv_tt_append_diff(struct batadv_priv *bat_priv,
int packet_min_len);
bool batadv_tt_global_client_is_roaming(struct batadv_priv *bat_priv,
uint8_t *addr);
-
+bool batadv_tt_add_temporary_global_entry(struct batadv_priv *bat_priv,
+ struct batadv_orig_node *orig_node,
+ const unsigned char *addr);
#endif /* _NET_BATMAN_ADV_TRANSLATION_TABLE_H_ */