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>
This commit is contained in:
parent
e45e898970
commit
5f92659d88
10 changed files with 952 additions and 3 deletions
39
wpa_supplicant/mesh_mpm.h
Normal file
39
wpa_supplicant/mesh_mpm.h
Normal file
|
@ -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 */
|
Loading…
Add table
Add a link
Reference in a new issue