aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/mesh_mpm.h
diff options
context:
space:
mode:
authorBob Copeland <me@bobcopeland.com>2014-03-11 04:07:01 (GMT)
committerJouni Malinen <j@w1.fi>2014-10-25 14:45:31 (GMT)
commit5f92659d88f17ba8cd11210a70e17ba664a62d53 (patch)
treec591ea2b1b609fec3702f9f758fd142d167af4fe /wpa_supplicant/mesh_mpm.h
parente45e898970e29f5f21e2815a2c75714129d7ae20 (diff)
downloadhostap-5f92659d88f17ba8cd11210a70e17ba664a62d53.zip
hostap-5f92659d88f17ba8cd11210a70e17ba664a62d53.tar.gz
hostap-5f92659d88f17ba8cd11210a70e17ba664a62d53.tar.bz2
mesh: Add mesh peering manager
The mesh peering manager establishes and maintains links among mesh peers, tracking each peer link via a finite state machine. This implementation supports open mesh peerings. [assorted fixes from Yu Niiro <yu.niiro@gmail.com>] [more fixes from Masashi Honma <masashi.honma@gmail.com>] Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Ashok Nagarajan <ashok.dragon@gmail.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-hostap: Bob Copeland <me@bobcopeland.com>
Diffstat (limited to 'wpa_supplicant/mesh_mpm.h')
-rw-r--r--wpa_supplicant/mesh_mpm.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/wpa_supplicant/mesh_mpm.h b/wpa_supplicant/mesh_mpm.h
new file mode 100644
index 0000000..056cedd
--- /dev/null
+++ b/wpa_supplicant/mesh_mpm.h
@@ -0,0 +1,39 @@
+/*
+ * WPA Supplicant - Basic mesh peer management
+ * Copyright (c) 2013-2014, cozybit, Inc. All rights reserved.
+ *
+ * This software may be distributed under the terms of the BSD license.
+ * See README for more details.
+ */
+
+#ifndef MESH_MPM_H
+#define MESH_MPM_H
+
+/* notify MPM of new mesh peer to be inserted in MPM and driver */
+void wpa_mesh_new_mesh_peer(struct wpa_supplicant *wpa_s, const u8 *addr,
+ struct ieee802_11_elems *elems);
+void mesh_mpm_deinit(struct wpa_supplicant *wpa_s, struct hostapd_iface *ifmsh);
+void mesh_mpm_auth_peer(struct wpa_supplicant *wpa_s, const u8 *addr);
+
+#ifdef CONFIG_MESH
+
+void mesh_mpm_action_rx(struct wpa_supplicant *wpa_s,
+ const struct ieee80211_mgmt *mgmt, size_t len);
+void mesh_mpm_mgmt_rx(struct wpa_supplicant *wpa_s, struct rx_mgmt *rx_mgmt);
+
+#else /* CONFIG_MESH */
+
+static inline void mesh_mpm_action_rx(struct wpa_supplicant *wpa_s,
+ const struct ieee80211_mgmt *mgmt,
+ size_t len)
+{
+}
+
+static inline void mesh_mpm_mgmt_rx(struct wpa_supplicant *wpa_s,
+ struct rx_mgmt *rx_mgmt)
+{
+}
+
+#endif /* CONFIG_MESH */
+
+#endif /* MESH_MPM_H */