summaryrefslogtreecommitdiffstats
path: root/net/batman-adv/bat_algo.h
diff options
context:
space:
mode:
authorAntonio Quartulli <antonio@open-mesh.com>2016-01-16 16:40:12 +0800
committerAntonio Quartulli <a@unstable.cc>2016-02-29 16:05:31 +0800
commit0da0035942d47766c32843143fb5dba7a29cb48c (patch)
tree53a71e5f8e319fa78cdeeea770224816b36a672a /net/batman-adv/bat_algo.h
parent7f136cd491013285442ee1e7854fab1736f5757c (diff)
downloadlinux-0da0035942d47766c32843143fb5dba7a29cb48c.tar.gz
linux-0da0035942d47766c32843143fb5dba7a29cb48c.tar.bz2
linux-0da0035942d47766c32843143fb5dba7a29cb48c.zip
batman-adv: OGMv2 - add basic infrastructure
This is the initial implementation of the new OGM protocol (version 2). It has been designed to work on top of the newly added ELP. In the previous version the OGM protocol was used to both measure link qualities and flood the network with the metric information. In this version the protocol is in charge of the latter task only, leaving the former to ELP. This means being able to decouple the interval used by the neighbor discovery from the OGM broadcasting, which revealed to be costly in dense networks and needed to be relaxed so leading to a less responsive routing protocol. Signed-off-by: Antonio Quartulli <antonio@open-mesh.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Diffstat (limited to 'net/batman-adv/bat_algo.h')
-rw-r--r--net/batman-adv/bat_algo.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/net/batman-adv/bat_algo.h b/net/batman-adv/bat_algo.h
index a4e994e26da1..03dafd33d23b 100644
--- a/net/batman-adv/bat_algo.h
+++ b/net/batman-adv/bat_algo.h
@@ -18,11 +18,15 @@
#ifndef _NET_BATMAN_ADV_BAT_ALGO_H_
#define _NET_BATMAN_ADV_BAT_ALGO_H_
+struct batadv_priv;
+
int batadv_iv_init(void);
#ifdef CONFIG_BATMAN_ADV_BATMAN_V
int batadv_v_init(void);
+int batadv_v_mesh_init(struct batadv_priv *bat_priv);
+void batadv_v_mesh_free(struct batadv_priv *bat_priv);
#else
@@ -31,6 +35,15 @@ static inline int batadv_v_init(void)
return 0;
}
+static inline int batadv_v_mesh_init(struct batadv_priv *bat_priv)
+{
+ return 0;
+}
+
+static inline void batadv_v_mesh_free(struct batadv_priv *bat_priv)
+{
+}
+
#endif /* CONFIG_BATMAN_ADV_BATMAN_V */
#endif /* _NET_BATMAN_ADV_BAT_ALGO_H_ */