[PATCH/RFC 00/18] 802.11s mesh support
Bob Copeland
me
Sun Jul 13 22:19:05 PDT 2014
Greetings,
This patchset developed at Cozybit adds mesh support to wpa_supplicant,
providing an alternative to the authsae daemon for running a secure
11s mesh network. Unlike authsae, it also supports running open mesh
with the peering manager in userspace.
Patches 1-8 implement the mesh peering manager (MPM) supporting open mesh
networks. Patches 9-12 augment the MPM and the existing SAE code to support
the Authenticated Mesh Peering Exchange (AMPE) and encrypted mesh.
Patch 13 implements mesh scanning, patch 14 implements P2P-like control
interface, patch 17 implements HT support, and the rest are odds and ends.
There are certainly a number of things that can be improved in this patchset,
and it needs a bit more testing, but I am posting it now to get input from
other intersted parties, some guidance on the approach in general, and
identification of which parts need the most work, in hopes that we can
address the warts and get the code upstream.
Bob Copeland (4):
mesh_mpm: add mesh peering manager
driver: add new NL80211 cmds to support mesh ifaces
mesh: parse mesh-related information elements
aes_siv: implement RFC 5297 AES-SIV
Chun-Yeow Yeoh (1):
mesh_rsn: add timer for SAE authentication
Jason Abele (1):
wpa_supplicant: implement mesh scanning
Jason Mobarak (1):
wpa_s: enable mesh HT mode
Javier Lopez (3):
wpa_s, ctrl_iface: Add mesh_group_{add,remove}
hwsim_tests: add test_wpas_mesh test cases
hostapd: check if mesh_conf struct is set
Thomas Pedersen (8):
data structures: add required mesh data fields
mesh: add mesh mode routines
events: handle mesh events coming from driver
config: add mesh mode, user_mpm, and no_auto_peer options
Makefile: add mesh support to wpa_s build
mesh_rsn: add mesh robust security network
auth: handle auth frames for mesh ifaces
sample conf: add description for new mesh options
hostapd/Android.mk | 4 +
src/ap/ap_config.h | 29 +-
src/ap/hostapd.c | 28 +-
src/ap/hostapd.h | 11 +
src/ap/ieee802_11.c | 96 +++-
src/ap/sta_info.c | 8 +
src/ap/sta_info.h | 19 +
src/ap/wpa_auth.c | 16 +
src/ap/wpa_auth.h | 3 +
src/common/defs.h | 36 ++
src/common/ieee802_11_common.c | 22 +
src/common/ieee802_11_common.h | 10 +
src/common/ieee802_11_defs.h | 36 ++
src/common/wpa_ctrl.h | 6 +
src/crypto/Makefile | 1 +
src/crypto/aes-siv.c | 180 ++++++
src/crypto/aes_siv.h | 17 +
src/drivers/driver.h | 91 ++-
src/drivers/driver_common.c | 1 +
src/drivers/driver_nl80211.c | 327 ++++++++++-
src/drivers/driver_wext.c | 5 +-
tests/hwsim/example-wpa_supplicant.config | 1 +
tests/hwsim/p2p0.conf | 1 +
tests/hwsim/p2p1.conf | 1 +
tests/hwsim/p2p2.conf | 1 +
tests/hwsim/test_wpas_mesh.py | 336 +++++++++++
tests/hwsim/wpasupplicant.py | 12 +
wpa_supplicant/Android.mk | 13 +
wpa_supplicant/Makefile | 15 +
wpa_supplicant/ap.c | 42 +-
wpa_supplicant/ap.h | 5 +
wpa_supplicant/bss.c | 8 +-
wpa_supplicant/config.c | 82 ++-
wpa_supplicant/config.h | 11 +
wpa_supplicant/config_file.c | 5 +
wpa_supplicant/config_ssid.h | 21 +
wpa_supplicant/ctrl_iface.c | 108 +++-
wpa_supplicant/driver_i.h | 22 +
wpa_supplicant/events.c | 36 +-
wpa_supplicant/mesh.c | 327 +++++++++++
wpa_supplicant/mesh.h | 38 ++
wpa_supplicant/mesh_mpm.c | 922 ++++++++++++++++++++++++++++++
wpa_supplicant/mesh_mpm.h | 28 +
wpa_supplicant/mesh_rsn.c | 579 +++++++++++++++++++
wpa_supplicant/mesh_rsn.h | 39 ++
wpa_supplicant/scan.c | 5 +
wpa_supplicant/wpa_cli.c | 21 +
wpa_supplicant/wpa_supplicant.c | 55 +-
wpa_supplicant/wpa_supplicant.conf | 26 +
wpa_supplicant/wpa_supplicant_i.h | 7 +-
50 files changed, 3648 insertions(+), 65 deletions(-)
create mode 100644 src/crypto/aes-siv.c
create mode 100644 src/crypto/aes_siv.h
create mode 100644 tests/hwsim/test_wpas_mesh.py
create mode 100644 wpa_supplicant/mesh.c
create mode 100644 wpa_supplicant/mesh.h
create mode 100644 wpa_supplicant/mesh_mpm.c
create mode 100644 wpa_supplicant/mesh_mpm.h
create mode 100644 wpa_supplicant/mesh_rsn.c
create mode 100644 wpa_supplicant/mesh_rsn.h
--
2.0.0.rc2
More information about the Hostap
mailing list