freebsd-nq/sys/net80211
Rui Paulo 59aa14a91d Implementation of the upcoming Wireless Mesh standard, 802.11s, on the
net80211 wireless stack. This work is based on the March 2009 D3.0 draft
standard. This standard is expected to become final next year.
This includes two main net80211 modules, ieee80211_mesh.c
which deals with peer link management, link metric calculation,
routing table control and mesh configuration and ieee80211_hwmp.c
which deals with the actually routing process on the mesh network.
HWMP is the mandatory routing protocol on by the mesh standard, but
others, such as RA-OLSR, can be implemented.

Authentication and encryption are not implemented.

There are several scripts under tools/tools/net80211/scripts that can be
used to test different mesh network topologies and they also teach you
how to setup a mesh vap (for the impatient: ifconfig wlan0 create
wlandev ... wlanmode mesh).

A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled
by default on GENERIC kernels for i386, amd64, sparc64 and pc98.

Drivers that support mesh networks right now are: ath, ral and mwl.

More information at: http://wiki.freebsd.org/WifiMesh

Please note that this work is experimental. Also, please note that
bridging a mesh vap with another network interface is not yet supported.

Many thanks to the FreeBSD Foundation for sponsoring this project and to
Sam Leffler for his support.
Also, I would like to thank Gateworks Corporation for sending me a
Cambria board which was used during the development of this project.

Reviewed by:	sam
Approved by:	re (kensmith)
Obtained from:	projects/mesh11s
2009-07-11 15:02:45 +00:00
..
_ieee80211.h Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_acl.c convert MALLOC/FREE to malloc/free 2008-12-18 23:00:09 +00:00
ieee80211_action.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_action.h Revamp 802.11 action frame handling: 2009-07-05 17:59:19 +00:00
ieee80211_adhoc.c Revamp 802.11 action frame handling: 2009-07-05 17:59:19 +00:00
ieee80211_adhoc.h Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211_ageq.c correctly set the tailq ptr when removing the last item in the q 2009-07-10 02:19:57 +00:00
ieee80211_ageq.h Add ieee80211_ageq; a facility for staging packets that require 2009-07-05 18:17:37 +00:00
ieee80211_amrr.c Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211_amrr.h Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211_crypto_ccmp.c Correct ieee80211_gettid: 2009-06-09 16:32:07 +00:00
ieee80211_crypto_none.c Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211_crypto_tkip.c add tid param to ieee80211_notify_replay_failure to get the correct rsc 2009-06-05 23:10:30 +00:00
ieee80211_crypto_wep.c convert MALLOC/FREE to malloc/free 2008-12-18 23:00:09 +00:00
ieee80211_crypto.c use c99-style initializers 2009-06-07 23:16:10 +00:00
ieee80211_crypto.h add tid param to ieee80211_notify_replay_failure to get the correct rsc 2009-06-05 23:10:30 +00:00
ieee80211_ddb.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_dfs.c protect callouts with the com lock 2009-06-09 17:12:19 +00:00
ieee80211_dfs.h Fix definition of IEEE80211_CHAN_MAX; it was defined as 255 but 2008-12-15 01:26:33 +00:00
ieee80211_freebsd.c add tid param to ieee80211_notify_replay_failure to get the correct rsc 2009-06-05 23:10:30 +00:00
ieee80211_freebsd.h Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_hostap.c Revamp 802.11 action frame handling: 2009-07-05 17:59:19 +00:00
ieee80211_hostap.h Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211_ht.c Revamp 802.11 action frame handling: 2009-07-05 17:59:19 +00:00
ieee80211_ht.h Revamp 802.11 action frame handling: 2009-07-05 17:59:19 +00:00
ieee80211_hwmp.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_input.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_input.h split Atheros SuperG support out into it's own file that's included only 2009-03-24 20:39:08 +00:00
ieee80211_ioctl.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_ioctl.h Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_mesh.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_mesh.h Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_monitor.c count packets 2009-06-02 00:04:10 +00:00
ieee80211_monitor.h Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211_node.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_node.h Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_output.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_phy.c use 1/2 and 1/4 rate phy types to simplify txtime calculation 2009-02-19 17:44:23 +00:00
ieee80211_phy.h add ieee80211_isratevalid 2009-05-29 23:39:16 +00:00
ieee80211_power.c convert MALLOC/FREE to malloc/free 2008-12-18 23:00:09 +00:00
ieee80211_power.h New ap-side power save implementation; the main change is to allow drivers 2008-10-26 01:04:46 +00:00
ieee80211_proto.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_proto.h Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_radiotap.c purge dead code 2009-06-08 21:16:06 +00:00
ieee80211_radiotap.h update channel flag defs to match _ieee80211.h so cpp doesn't complain 2007-12-13 01:23:40 +00:00
ieee80211_regdomain.c Add modes for 1/2 and 1/4-width channels so we have separate roaming 2009-02-19 05:21:54 +00:00
ieee80211_regdomain.h o add country codes from Atheros regulatory; these are not listed in 2009-01-27 23:09:55 +00:00
ieee80211_rssadapt.c Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211_rssadapt.h Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211_scan_sta.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_scan.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_scan.h Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_sta.c Revamp 802.11 action frame handling: 2009-07-05 17:59:19 +00:00
ieee80211_sta.h Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211_superg.c distribute sysctl decls so global variables can be made static 2009-05-30 20:11:23 +00:00
ieee80211_superg.h make superg/fast-frames state dynamically-allocated (and indirect off 2009-05-02 20:16:55 +00:00
ieee80211_tdma.c o assert TDMA_MAXSLOTS is 2 so noone tries to blindly increase it 2009-05-30 19:57:31 +00:00
ieee80211_tdma.h Overhaul monitor mode handling: 2009-05-20 20:00:40 +00:00
ieee80211_var.h Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211_wds.c Add ieee80211_ageq; a facility for staging packets that require 2009-07-05 18:17:37 +00:00
ieee80211_wds.h Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211_xauth.c Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
ieee80211.c Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
ieee80211.h Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00