#
59aa14a9 |
| 11-Jul-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
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 nex
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
show more ...
|
#
09c817ba |
| 03-Jul-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- MFC
|
#
4fbdba95 |
| 14-Jun-2009 |
Sam Leffler <sam@FreeBSD.org> |
Rev IEEE80211_IOC_STA_INFO abi: ni_flags grew from 16 bits to 32 bits but isi_state did not follow; expand it to 32 bits and pad to maintain alignment. Note this is an incompatible change that requi
Rev IEEE80211_IOC_STA_INFO abi: ni_flags grew from 16 bits to 32 bits but isi_state did not follow; expand it to 32 bits and pad to maintain alignment. Note this is an incompatible change that requires rebuilding of user applications.
Submitted by: rpaulo, cbzimmer, avatar
show more ...
|
#
7e857dd1 |
| 12-Jun-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- Merge from HEAD
|
#
d042da96 |
| 04-Jun-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Resync with head.
|
#
5d644c39 |
| 04-Jun-2009 |
Sam Leffler <sam@FreeBSD.org> |
track rename of CSA ie
Submitted by: wxs
|
Revision tags: release/7.2.0_cvs, release/7.2.0 |
|
#
9c797940 |
| 13-Apr-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- Merge from HEAD
|
#
46b7ac7a |
| 26-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
add superg+tdma include files for protocol defs needed to do ie parsing
|
#
1829d5da |
| 12-Mar-2009 |
Warner Losh <imp@FreeBSD.org> |
Update the projects tree to a newer FreeBSD current.
|
#
9c1fd0b0 |
| 27-Feb-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
Replace clone_setcallback() with a new function clone_setdefcallback() that selects a callback from an interface prefix name. This allows us to report a meaningful error when the user types 'ifconfig
Replace clone_setcallback() with a new function clone_setdefcallback() that selects a callback from an interface prefix name. This allows us to report a meaningful error when the user types 'ifconfig wlan0 create', for example, and also kills some redundant code.
Reviewed by: sam (earlier version)
show more ...
|
#
7a8ca893 |
| 19-Feb-2009 |
Sam Leffler <sam@FreeBSD.org> |
Fixup handling of roaming and xmit parameters to support 1/2 and 1/4-width channel modes: o usurp 'h' mode flag for half-width channels o add 'q' mode flag for quarter-width channels o rewrite rate p
Fixup handling of roaming and xmit parameters to support 1/2 and 1/4-width channel modes: o usurp 'h' mode flag for half-width channels o add 'q' mode flag for quarter-width channels o rewrite rate parameter parsing to handle fractional values o merge mode loops to eliminate ordering assumptions o replace 0x80 with IEEE80211_RATE_MCS
show more ...
|
#
47ee60eb |
| 07-Feb-2009 |
Sam Leffler <sam@FreeBSD.org> |
Regulatory fixups: o add missing channel flags for ECM, indoor, and outdoor constraints o use HT capabilities to short-circuit HT20/HT40 channel construction o rewrite 1/2 and 1/4 width channel handl
Regulatory fixups: o add missing channel flags for ECM, indoor, and outdoor constraints o use HT capabilities to short-circuit HT20/HT40 channel construction o rewrite 1/2 and 1/4 width channel handling yet again; previously we assumed there was a full-width version of the channel in the calibration table but that's not always true (e.g. for the Public Safety Band), now we first check the calibration table for the exact channel we want then fall back to the heuristics we used before o fix HT channel construction; wasn't adjusting band edges for HT40 channel bandwidth requirements
show more ...
|
#
f9b2e762 |
| 03-Feb-2009 |
Xin LI <delphij@FreeBSD.org> |
Use %u instead of %zu when we intend to print integer constant.
|
#
1dfdb874 |
| 28-Jan-2009 |
Sam Leffler <sam@FreeBSD.org> |
include the channel list in list caps when -v is set; ieee channel #'s are not available and we have to hack around the mapchan routine but it lets us see the calibration table w/o forcing the debug
include the channel list in list caps when -v is set; ieee channel #'s are not available and we have to hack around the mapchan routine but it lets us see the calibration table w/o forcing the debug regdomain
show more ...
|
#
fa46e75d |
| 28-Jan-2009 |
Sam Leffler <sam@FreeBSD.org> |
pritize the channel we display with list chans so that, among other things, 1/2 and 1/4 width channels are hidden behind the full width channel; this is needed because they are ordered such that they
pritize the channel we display with list chans so that, among other things, 1/2 and 1/4 width channels are hidden behind the full width channel; this is needed because they are ordered such that they appear after in the channel table
show more ...
|
#
2da7e03a |
| 28-Jan-2009 |
Sam Leffler <sam@FreeBSD.org> |
simplify display of 1/2 and 1/4 width channels
|
#
2f686fce |
| 28-Jan-2009 |
Sam Leffler <sam@FreeBSD.org> |
improve debug msgs for regdomain operations; print channel flags symbolically so it's easier to identify channels and why they are added (or not)
|
#
d6bf86af |
| 28-Jan-2009 |
Sam Leffler <sam@FreeBSD.org> |
Fix 1/2 and 1/4 width channel handling: o only include 1/2 and 1/4 width channels when they are specified in the regulatory database description; previously we treated them as if they were part o
Fix 1/2 and 1/4 width channel handling: o only include 1/2 and 1/4 width channels when they are specified in the regulatory database description; previously we treated them as if they were part of the band and blindly added them for 11a/g o check the channel list returned in the devcaps to identify whether a device supports 1/2 or 1/4 width channels on a band; this might be better brought out as a capability bit to avoid filling the channel list w/ 1/2 and 1/4 width channels but then cards that only support these channels in a range of frequencies could not be described (though right now we don't check frequency range only band)
show more ...
|
#
8658b18b |
| 28-Jan-2009 |
Sam Leffler <sam@FreeBSD.org> |
Remove assumptions about the max # channels in ioctl's: o change ioctl's that pass channel lists in/out to handle variable-size arrays instead of a fixed (compile-time) value; we do this in a way
Remove assumptions about the max # channels in ioctl's: o change ioctl's that pass channel lists in/out to handle variable-size arrays instead of a fixed (compile-time) value; we do this in a way that maintains binary compatibility o change ifconfig so all channel list data structures are now allocated to hold MAXCHAN entries (1536); this, for example, allows the kernel to return > IEEE80211_CHAN_MAX entries for calls like IEEE80211_IOC_DEVCAPS
show more ...
|
#
63ad8170 |
| 28-Jan-2009 |
Sam Leffler <sam@FreeBSD.org> |
remove %b msg bit defines now public
|
#
bad3b688 |
| 18-Jan-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Sync with head
|
#
5814deb8 |
| 16-Jan-2009 |
Sam Leffler <sam@FreeBSD.org> |
Fix 1/2 and 1/4 width channel handling for non-GSM operation: o correct typo that caused random channel selection o explicitly add 1/2 and 1/4 width channels because channel lookups match flags tha
Fix 1/2 and 1/4 width channel handling for non-GSM operation: o correct typo that caused random channel selection o explicitly add 1/2 and 1/4 width channels because channel lookups match flags that include IEEE80211_CHANNEL_HALF and IEEE80211_CHANNEL_QUARTER
show more ...
|
#
10ad9a77 |
| 08-Jan-2009 |
Sam Leffler <sam@FreeBSD.org> |
TDMA support for long distance point-to-point links using ath devices: o add net80211 support for a tdma vap that is built on top of the existing adhoc-demo support o add tdma scheduling of frame t
TDMA support for long distance point-to-point links using ath devices: o add net80211 support for a tdma vap that is built on top of the existing adhoc-demo support o add tdma scheduling of frame transmission to the ath driver; it's conceivable other devices might be capable of this too in which case they can make use of the 802.11 protocol additions etc. o add minor bits to user tools that need to know: ifconfig to setup and configure, new statistics in athstats, and new debug mask bits
While the architecture can support >2 slots in a TDMA BSS the current design is intended (and tested) for only 2 slots.
Sponsored by: Intel
show more ...
|
Revision tags: release/7.1.0_cvs, release/7.1.0 |
|
#
41fe50f5 |
| 20-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
MFH @ 186335
|
#
ddd244ec |
| 15-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
move channel parsing to a getchannel routine so it can be reused to check the channel argument supplied to chanswitch
|